Title: MyRentBook
Author: Stan Furtovsky
Published: <strong>Sentabr 20, 2025</strong>
Last modified: Sentabr 23, 2025

---

Search plugins

![](https://ps.w.org/myrentbook/assets/banner-772x250.jpg?rev=3364935)

![](https://ps.w.org/myrentbook/assets/icon-256x256.jpg?rev=3364938)

# MyRentBook

 By [Stan Furtovsky](https://profiles.wordpress.org/konion/)

[Download](https://downloads.wordpress.org/plugin/myrentbook.0.1.5.zip)

[Live Preview](https://uz.wordpress.org/plugins/myrentbook/?preview=1)

 * [Details](https://uz.wordpress.org/plugins/myrentbook/#description)
 * [Reviews](https://uz.wordpress.org/plugins/myrentbook/#reviews)
 *  [Installation](https://uz.wordpress.org/plugins/myrentbook/#installation)
 * [Development](https://uz.wordpress.org/plugins/myrentbook/#developers)

 [Support](https://wordpress.org/support/plugin/myrentbook/)

## Description

### Why this plugin

Most of us have lived through long-term rentals and know how quickly calculations
get messy: due dates, partial payments, utilities, unexpected expenses. Without 
a clear record and a shared view, transparency—and trust—suffer on both sides.
 **
MyRentBook** fixes that with a clear, lightweight bookkeeping layer where landlord
and tenant see the same numbers and stay on the same page. No black boxes, no external
services—everything runs inside your WordPress.

### What you get

– **Unified rent + utilities.** Charges per lease (rent / utilities / miscellaneous)
in one place.
 – **Partial payments & running balance.** Record partial payments—
remaining balance and statuses update automatically. – **Credit balance (overpayments)
with auto-apply.** Overpayments accumulate as a credit you can optionally auto-apply
to the next due charge. – **Clear statuses.** Paid / Partially paid / Unpaid—easy
to read for both sides. – **Two dashboards.** Shortcodes for a landlord panel and
a tenant cabinet—place them on any page. – **Notices & reminders.** Reminders via
WP-Cron, no third-party services. – **Privacy by default.** Data stays in your database;
you control access to pages. – **Translation-ready.** English, Spanish, and Russian
included; easy to add more.

### How it works (quickly)

1) Create a **Property**.
 2) Create a **Lease** and link it to the property. 3)
Add **Charges** (rent, utilities, miscellaneous) and record incoming payments. 4)
The system recalculates balance and statuses, taking partial payments and credit
into account.

### Fit, customization, and branding

**MyRentBook** adapts to your site and brand:
 – **Shortcodes** work anywhere (Gutenberg,
Elementor, etc.). – **Easy styling** with `myrentbook-` CSS class prefixes. – **
Text & terminology** editable via translation tools (Loco Translate / Poedit). –**
Branding**: add your logo/colors around shortcode pages; use your theme blocks and
UI components. – **Settings** for currency, dashboard pages, credit auto-apply, 
notices, and more.

If you’re a small agency, you can present branded dashboards to clients without 
building a SaaS and without monthly vendor lock-in.

### Who is it for

– Individual landlords (from 1–10 properties and up).
 – Small agencies / property
managers. – Anyone who values **transparency**, **simple bookkeeping rules**, and**
self-hosted data**.

### Roadmap

There is an active roadmap and we keep improving the plugin based on feedback. Your
support directly helps it grow faster.

### Shortcodes

– `[myrentbook_tenant]` — tenant cabinet for the current logged-in user.
 – `[myrentbook_landlord]`—
landlord panel (requires appropriate capability). – `[myrentbook_notice]` — notices
block for the selected receiver page.

(Restrict access to these pages with your membership/roles plugin or custom capabilities.)

### Privacy Policy

This plugin does not send personal data to outside servers. Data is stored locally
in your WordPress database. If you export/delete personal data in WordPress, include
related lease and charge records as needed.

## Screenshots

 * [[
 * Lease payments overview
 * [[
 * Lease editor
 * [[
 * Charge editor

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/` or install via **Plugins  Add
    New**.
 2. Activate **MyRentBook**.
 3. Go to **MyRentBook  Settings** to configure:
     – default currency, – pages for `[
    myrentbook_tenant]` and `[myrentbook_landlord]`, – credit auto-apply, notices, 
    and other behavior.
 4. Create a **Property**, then a **Lease**, then add **Charges** (rent / utility /
    misc).
 5. Place the shortcodes on the pages you want:
     – Tenant view: `[myrentbook_tenant]`–
    Landlord view: `[myrentbook_landlord]`

## FAQ

### EN: How do I create a modal for messages in Gutenberg (no extra plugins)?

Short version: add one Group block with id=msg1 and class myrentbook-modal, nest
one inner Group with class myrentbook-modal__dialog, place your Shortcode block 
and a Close button underneath. Paste a small CSS snippet above the modal block and
a JS snippet in the site footer.

Steps
 1) In the target page, create a Group block  in “HTML Anchor” enter: msg1(
this yields id=»msg1″). In “Additional CSS class(es)” enter: myrentbook-modal 2)
Inside this group, add another Group block  in “Additional CSS class(es)” enter:
myrentbook-modal__dialog 3) Inside the inner group (“card”), add: – a Shortcode 
block (important: NOT “Custom HTML”), – below it, a Buttons block with a single 
button whose link (URL) is #close. Resulting structure: Group (id=msg1, class=myrentbook-
modal) └─ Group (class=myrentbook-modal__dialog) ├─ Shortcode [your plugin prints
the message here] └─ Buttons [one button with URL #close]

4) Directly ABOVE the modal, add a “Custom HTML” block and paste this CSS:

/* Hide modal by default; show when class is added */
 .myrentbook-modal{ display:
none; } .myrentbook-modal.myrentbook–open{ display:block; } /* Full-surface overlay
and positioning */ .myrentbook-modal{ position:fixed !important; inset:0 !important;
display:none; align-items:flex-start; justify-content:center; padding-top:10vh; 
background:transparent !important; z-index:2147483647; margin:0 !important; max-
width:none !important; } .myrentbook-modal.myrentbook–open{ display:flex !important;}.
myrentbook-modal::before{ content:»»; position:absolute; inset:0; background:rgba(
0,0,0,.6); }

/* Dialog “card” (inner group = message + button) */
 .myrentbook-modal__dialog{
position:relative; z-index:1; width:min(720px, calc(100% – 32px)); background:#fff;
border-radius:12px; padding:20px 24px 18px; box-shadow:0 18px 50px rgba(0,0,0,.30);
margin:0 !important; }

/* Tame Gutenberg layout wrappers inside the card */
 .myrentbook-modal__dialog [
class*=»is-layout-«], .myrentbook-modal__dialog [class*=»wp-container-«]{ margin:
0 !important; max-width:none !important; gap:0 !important; }

/* Center the shortcode/text content */
 .myrentbook-modal__dialog .myrentbook-notice__inner,.
myrentbook-modal__dialog .wp-block-shortcode{ text-align:center !important; } .myrentbook-
modal__dialog .myrentbook-notice__inner > *, .myrentbook-modal__dialog .wp-block-
shortcode > *{ margin-left:auto !important; margin-right:auto !important; } .myrentbook-
modal__dialog p{ text-align:center !important; }

/* Button(s) under the message */
 .myrentbook-modal__dialog > .wp-block-buttons{
display:flex; justify-content:center; /* change to flex-end if you prefer right-
aligned */ margin-top:12px !important; }

5) Paste this JS into the site footer (choose one: Site Editor  Footer  “Custom 
HTML” block; or a “headers & footers” helper plugin; or directly into footer.php
before ):

/* ===== MyRentBook: auto-modal when a message exists ===== */
 /* No design changes
here — just show/hide */

document.addEventListener(‘DOMContentLoaded’, function(){
 var modal = document.
getElementById(‘msg1’); if(!modal) return;

 // If there is any notice inside — open the modal
 if(modal.querySelector(‘.myrentbook-
notice’)){ modal.classList.add(‘myrentbook–open’);

 // Optional: auto-close success after 3 seconds
 if(modal.querySelector(‘.myrentbook-
notice–success’)){ setTimeout(function(){ modal.classList.remove(‘myrentbook–open’);},
3000); } } });

// Close on link with href=»#close»
 document.addEventListener(‘click’, function(
e){ var a = e.target.closest(‘a[href=»#close»]’); if(!a) return; e.preventDefault();
var modal = a.closest(‘.myrentbook-modal’); if(modal){ modal.classList.remove(‘myrentbook–
open’); } });

// Close on Esc
 document.addEventListener(‘keydown’, function(e){ if(e.key === ‘
Escape’){ document.querySelectorAll(‘.myrentbook-modal.myrentbook–open’) .forEach(
function(m){ m.classList.remove(‘myrentbook–open’); }); } });

How it works
 – On page load, the script looks for #msg1. If it contains .myrentbook-
notice (success or error), the modal opens with a dark overlay. – Closing works 
via the #close button and the Esc key. – Shortcodes must be added via the “Shortcode”
block (NOT “Custom HTML”), or WordPress will not render them.

Troubleshooting
 – Modal doesn’t open: ensure the outer group has id=»msg1″ and 
class myrentbook-modal, and that the inner content actually outputs a .myrentbook-
notice element. – Button does nothing: its link must be exactly #close. – Shortcode
shows as plain text: replace “Custom HTML” with the “Shortcode” block. – Cache/minification:
clear caches after adding CSS/JS. – Polylang: create the modal on each language 
version of the page (content is just regular blocks).

Multiple modals (optional)
 Duplicate the structure with different anchors (msg2,
msg3). Then either duplicate the JS block with the new IDs or generalize the code
to loop over all .myrentbook-modal elements. For most setups, one modal (msg1) is
enough.

Notes
 – You can adjust the auto-close timeout (3000 ms) or remove that block if
you don’t want auto-closing for success. – If your theme has very aggressive styles,
the provided CSS already neutralizes common layout wrappers inside the dialog card
without affecting the rest of the site.

### Does it expose anything publicly?

Only the pages where you place shortcodes will render dashboards. Typically you 
keep tenant pages behind login; the plugin does not publish public archives for 
sensitive CPTs by default.

### How do partial payments work?

When you record a payment smaller than the charge, the remaining balance stays open;
totals and statuses are recalculated per lease.

### What is “credit auto-apply”?

When enabled, overpayments (credit) are automatically applied to the nearest open
debt of the lease. You can also trigger “Apply credit now” manually from the landlord
panel.

### Multilingual support?

The plugin is fully localized. English (en_US), Spanish (es_ES) and Russian (ru_RU)
are included; you can add more via translate.wordpress.org or tools like Loco Translate/
Poedit.

### Does it send data to third parties?

No. Everything runs on your WordPress (including reminders via WP-Cron).

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“MyRentBook” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ Stan Furtovsky ](https://profiles.wordpress.org/konion/)

[Translate “MyRentBook” into your language.](https://translate.wordpress.org/projects/wp-plugins/myrentbook)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/myrentbook/), check
out the [SVN repository](https://plugins.svn.wordpress.org/myrentbook/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/myrentbook/) by 
[RSS](https://plugins.trac.wordpress.org/log/myrentbook/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.1.5

Screenshots

#### 0.1.4

Critical bug fixes.
 Date display standardized.

#### 0.1.2

 * First public review build.
 * Tenant and landlord shortcodes.
 * Charges (rent/utilities), partial payments, and credit auto-apply.
 * Settings page and notices block.
 * Translations: en_US, es_ES, ru_RU.

## Meta

 *  Version **0.1.5**
 *  Last updated **7 oy ago**
 *  Active installations **10+**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **6.8.5**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/myrentbook/)
 * Tags
 * [property management](https://uz.wordpress.org/plugins/tags/property-management/)
   [rent](https://uz.wordpress.org/plugins/tags/rent/)[Rental](https://uz.wordpress.org/plugins/tags/rental/)
 *  [Advanced View](https://uz.wordpress.org/plugins/myrentbook/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/myrentbook/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/myrentbook/reviews/)

## Contributors

 *   [ Stan Furtovsky ](https://profiles.wordpress.org/konion/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/myrentbook/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://wise.com/pay/r/DO2Z3vnWLZfydZY)