For independent landlords and small portfolios
Know exactly what your rentals earn.
Property accounting that produces statements you can actually rely on — per property, per unit, down to the cent. Replace the spreadsheet without inheriting its errors.
Free plan, no card required. Export your data whenever you like.
Income
$33,420
Expenses
$11,740
Net operating income
$21,680
| Month | Income | Expenses |
|---|---|---|
| Jan | $5,320.00 | $1,890.00 |
| Feb | $5,320.00 | $2,140.00 |
| Mar | $5,570.00 | $1,650.00 |
| Apr | $5,570.00 | $2,380.00 |
| May | $5,820.00 | $1,720.00 |
| Jun | $5,820.00 | $1,960.00 |
- 35
- Schedule E categories, seeded on day one
- 0
- Rounding errors — money is integer cents, never a float
- 2
- Ledger lines per transaction, summing to exactly zero
- $0
- To start, with no card and no trial clock
Why this exists
A spreadsheet will get you to three properties. It will not get you through an audit.
Formulas break quietly. A number gets pasted over. Two tabs disagree and neither says so. By the time it matters — a return, a refinance, a buyer's questions — reconstructing the year costs more than the software ever would.
What actually goes wrong
- Totals that do not tie out. Income on one tab, expenses on another, and no mechanism forcing them to agree with the bank.
- Repairs mixed with improvements. One is deductible this year, the other is depreciated over decades. A spreadsheet does not know the difference.
- Per-property truth that nobody has. You know the portfolio made money. You do not know which property paid for which.
- History you can edit. Last year’s figures change because someone fixed a cell, and nothing records that they did.
No income recorded for Cedar Court
A missed rent payment looks exactly like this.
3 entries not attached to a property
They are missing from per-property returns and from Schedule E.
The dashboard opens with what needs attention, derived from your own ledger — a property with history but no income this period looks exactly like a missed rent payment, so it says so.
Under the hood
Double-entry, enforced by the database.
You record one line. Two get written, and they must sum to zero — checked by a constraint in Postgres at commit time, not by application code that a future change could forget.
- Money is integer cents. Never a floating-point number, so no rounding drift accumulates in your totals.
- Entries are immutable. Corrections post a reversing entry linked to the original, so the audit trail is added to rather than rewritten.
- Cross-property mistakes are impossible. A composite foreign key means a line physically cannot attach to another workspace’s entry.
What you type
Money in| Account | Amount |
|---|---|
| 1000 Operating bank | +$1,200.00 |
| 4000 Rent income | −$1,200.00 |
| Must sum to zero, or the database rejects the write | $0.00 |
What you get
Built like accounting software, not like a to-do list.
Four things, each one done properly rather than a long list done approximately.
Books that balance by construction
Every transaction is recorded as double-entry underneath a simple money-in, money-out form. The rule that debits equal credits is enforced by the database itself, not by hopeful code — so your statements cannot silently drift apart.
How the ledger worksStatements that reconcile
Income statement and cash flow that agree with each other and with your bank. Every figure drills down to one property, one unit, one entry. Portfolio totals are a rollup — never an estimate.
See the reportsRent that collects itself
Tenants pay by bank transfer or card. Reminders, late fees, and receipts happen on schedule, and every payment posts straight to the books with no re-keying.
About rent collectionLeases and applicants
Send a lease for signature and run applicant screening through a vetted provider, without copying details between four different systems.
About leasingWhat you see
Every number traces back to one property, one entry.
Portfolio figures are a rollup of real records, never an estimate. Click a total and you can follow it all the way down.
Portfolio, last 12 months
Income Expenses
A twelve-month comparison of rental income against expenses, showing lower income in April and a large repair cost in August.
By property, year to date
| Property | Income | Expenses | Net |
|---|---|---|---|
| Maple DuplexAkron, OH | $28,800 | $9,400 | $19,400 |
| Cedar CourtToledo, OH | $21,600 | $11,200 | $10,400 |
| 12 Birch StreetAkron, OH | $14,400 | $3,800 | $10,600 |
| Portfolio | $64,800 | $24,400 | $40,400 |
Compared, not just counted
Every figure carries its change against the same period last year — seasonality makes any other comparison misleading.
Any period you need
This month, this quarter, year to date, last year, all time. The window lives in the URL, so a view is a link you can send.
Down to the unit
Per-property returns on cost, market rent against collected rent, and occupancy — as exact as the records you keep.
Getting started
Three steps, and the first one takes a minute.
- 01
Add a property
Address, unit count, and — if you have them — the acquisition figures that drive depreciation later.
- 02
Bring in your money
Connect an account, import a CSV, or enter transactions by hand. Each one lands against a property and a category.
- 03
Read the real numbers
Net operating income per property, updated as you go — and a year-end package that maps to Schedule E.
At tax time
Categories that already match the form you file.
The chart of accounts is seeded against Schedule E lines, so the year-end package is a summary of records you already keep — not a translation exercise in March.
This is bookkeeping software, not a tax preparer. It organises the numbers; whether a given expense is deductible in your situation is a question for your accountant.
Schedule E, Form 1040
- AdvertisingLine 5
- Cleaning and maintenanceLine 7
- InsuranceLine 9
- Mortgage interestLine 12
- RepairsLine 14
- TaxesLine 16
- UtilitiesLine 17
- DepreciationLine 18
Eight of 35 seeded categories.
Trust
Your books, and nobody else's business.
Financial records deserve a higher standard than a marketing promise. Here is what is actually implemented — and a page that says plainly what is not.
Isolated at the database
Every row carries its workspace, every query is scoped server-side, and a constraint blocks cross-workspace writes outright.
We hold as little as possible
No card numbers, no bank passwords, no Social Security numbers. Each lives with the provider whose job it is.
Nothing sold, nothing trained
Your records are never sold, never shared with advertisers, and never used to train a model.
Staff access is logged
Support can read and annotate, not change your access — and every staff action is recorded with who took it.
Read the security overview — including an honest table of what is implemented today and what is not.
Pricing
Start free. Pay when it is doing real work.
No trial clock, no card to start, and no feature that disappears because a countdown ended.
Starter
Free
For a first rental — organized books without the spreadsheet.
Growth
$15/mo
For a growing portfolio — automate the repetitive work.
Pro
$35/mo
For serious investors — multiple portfolios and full reporting.
Questions
The things people actually ask.
Do I need to understand double-entry accounting?
No. You record money in or money out, pick a category, pick a property. The double-entry happens underneath — it exists so your statements reconcile and your accountant recognises the output, not so you have to think about debits.
Can my accountant get in?
Yes, with a read-only role built for exactly that. They see every record and every report and cannot change anything, so you can hand over access without handing over control.
What happens to my data if I leave?
You export it and delete your account yourself, from Settings. Deletion is real deletion — the confirmation screen names every workspace and record that will be destroyed before you confirm. We do not hold your books hostage.
Is this a replacement for my accountant?
No, and it does not pretend to be. It is bookkeeping software: it keeps records straight and organises them the way Schedule E expects. Whether an expense is deductible in your situation is a question for a professional who knows your situation.
Can I correct a mistake?
Yes — by posting a reversing entry, which is how accounting works. Entries are immutable, so history is added to rather than overwritten. A figure you reported last quarter still reconciles today.
What about my existing spreadsheet?
Import it as CSV. Rows land against a property and a category, and anything that cannot be matched is reported back to you rather than being silently dropped.