=== MyRentBook ===
Contributors: konion
Donate link: https://wise.com/pay/r/DO2Z3vnWLZfydZY
Tags: rent, rental, property-management, landlord, tenant, real-estate
Requires at least: 5.8
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 0.1.5
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Self-hosted rental bookkeeping: rent & utilities, partial payments, credit auto-apply, statuses and reminders. Transparent for landlord and tenant.
== 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.
== 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]`
== 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.)
== Frequently Asked Questions ==
= 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:
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