Left job (kept) survives under its own job number. Right job (merged away) is archived — its invoices and photos move onto the kept job.
The kept job keeps a note of which job was merged in, so you can always trace it back.
Job #
Property
Contractor
Tenant
Category
Description
Logged
Est. cost (£)
Actual cost (£)
Invoice
Status
Total (visible rows)
Job
Which Xero org this job's invoice routes to when confirmed.
No invoice yet.
For imported jobs that were already paid before Jobo existed — bypasses Xero. Leave the date as today if you don't know the exact date.
Manual for now — texts the contractor that this job's invoice has been paid. Logged below under "Previously sent (text)".
To:
Includes a link straight back to this job, plus its property/description for context.
To:
Cc:
Subject:
Previously sent (email)
None yet.
Previously sent (text)
None yet.
Every invoice and photo on this job moves onto the one you pick, then this job is archived (not deleted) — restore it from "Archived jobs" if this was a mistake.
Add invoice
...or drag a file in here
For legacy/paper invoices — type in what's on the invoice yourself rather than running it through OCR.
Confirm invoice details
Job property: —
Estimated cost on job: —
Contractor invoices are almost always No VAT — change this only if the invoice actually shows VAT.
Users
Adding someone here just allowlists them — send them their invite email from their row in the table below, whenever you're ready.
Name
Email
Phone
Role
Added
Invited
Edit user
E.g. a tenant who's also a recurring-contract supplier — lets one login into both portals.
Password shown in plain text so you can read it back to them.
Gives access to rarely-needed controls (legacy paid override, merging duplicate jobs) that are hidden from regular PM accounts.
Log a job
Review email to contractor
This is the email that will be sent — check it over before sending.
To:
Cc:
Subject:
Archived jobs
Job #
Property
Contractor
Category
Description
Archived
Possible duplicate jobs
Same property, with a close date, matching contractor, or similar description — a heuristic, not a certainty. Open either job to check, and use "Merge into another job" on the one to remove if it really is a duplicate.
Property
Job A
Job B
Days apart
Match reason
Aged open jobs
Open/in-progress jobs, grouped by how long ago they were logged.
Job #
Property
Contractor
Status
Logged
Age
Missing invoice
Jobs with no invoice recorded at all yet — oldest first.
Job #
Property
Contractor
Status
Logged
Age
Spend by property
Total invoiced amount per property (top 15) — a first look at "which properties cost the most," to build on later.
Tenants
Lets every tenant on file log in and request a magic link — doesn't email anyone itself, it just adds them to the allowlist. Safe to run repeatedly; only adds what's missing.
Add tenant manually
For a tenant not (yet) on an active Arthur tenancy. Creates a new tenant record — since one person can now hold several tenancies on the same email (e.g. multi-unit tenants), re-entering an existing email adds another tenant row rather than editing the old one.
New tenant + tenancy
Creates the tenant (or reuses an existing one) and sets up their tenancy — property, rent, deposit — in one go.
Bank reconciliation (manual log)
Xero doesn't expose its bank-feed match queue via API, so this is a manual record of when you've checked and reconciled each account in Xero — not automatically verified.
Company
Loading…
Personal
Loading…
Bank credits — last 30 days
Read via BankSync from your linked bank account(s) — connect/manage which accounts feed in from the BankSync app itself.
Date
Amount
From
Description
Account
Xero
Loading…
Tenants & properties
Property
Tenant
Email
Phone
Portfolio
Source
Balance
Auto-send invoices
Portal access
Tenancies
Links a tenant to a property with rent terms — foundation for future rent-charging (not yet wired to Xero).
Property
Tenant
Rent
Frequency
Start
End
Status
Financials
Re-enter your password to continue — this section is kept behind an extra check even though you're already logged in.
Financials
Last 6 months, every linked bank account. Transfers between your own accounts are excluded from income/expenditure.
Last 3 months — Income
Last 3 months — Expenditure
Last 3 months — Net
Asks Claude to guess a category for every transaction with no existing keyword match — a real-knowledge guess (e.g. recognising a courier company or a school), not just string matching. Nothing is applied until you confirm each one below.
Income
Expenditure
Net
Transfers between own accounts (excluded)
Click any figure above to see the transactions making it up.
Income by category
Category
Amount
Expenditure by category
Category
Amount
TransactionsClick a category above to drill in, or a month tab to see everything.
0 selected
Date
Amount
From / to
Account
Category
Note
Pick a month above.
Assets
Properties, investments and anything else of value — not part of the bank transaction feed, just a running record of what it's worth and when that was last checked.
Total value
Properties
Investments
Add an asset
Name
Type
Linked property
Current value
Last valued
Notes
Loading…
Sync from Arthur
Pulls every unit Arthur has on file (occupied or not) into Properties — safe to re-run; never deletes a property, even one no longer in Arthur, since it may carry gas certs or tenancies.
Add property
Properties
Address
Portfolio
Source
Gas certificate
EPC
Tenancies
Property —
EPC plan
The property's current Energy Performance Certificate rating and when it expires.
Documents
Gas safety certificates (with expiry date, for renewal tracking) and inspection-report PDFs from other systems.
Tenancies at this property
Inspection reports
Self-service reports tenants complete from their phone — photos, condition and notes per room. Created either by the recurring diary (see Settings) or ad-hoc, on request.
Opens a mobile-friendly page — log in there with this same account on your phone. Includes electric/gas/water meter readings.
Property
Tenant
Portfolio
Source
Completed by
Status
Submitted
Balance —
Loading…
Dates are optional. Blank: the statement covers the last 3 months (opening balance brought forward from before that) and the history covers everything. Both are built live from Xero.
Transaction history
Loading…
Emails —
Correspondence captured via Bcc from the real mailbox, plus anything sent to this tenant from Jobo.
Loading…
Send an email
Add todo
Todos
Title
Property
Due
Assigned to
Add contract
Nominal/VAT are this contract's Xero posting defaults — used automatically when confirming an invoice against it, instead of the org-wide default. Leave blank to use the org default.
Contracts
Name
Category
Supplier
Property
Portfolio
Invoices
Contract —
Needed for the invoice-paid text below — without it, the automatic "your invoice has been paid" text can't be sent.
Pin an exact Xero Units option for a contract covering a whole building — property-address matching can't tell one unit in it from another.
Used automatically when confirming an invoice against this contract, instead of the org-wide default.
Invoices
Manual for now — texts the supplier that this contract's most recent invoice has been paid. Logged below under "Previously sent (text)".
Add invoice
…or drag a file in here
Previously sent (email)
None yet.
Previously sent (text)
None yet.
Connections
These badges reflect the real stored connection, checked on this page's load — not a per-browser flag, so they won't drift out of sync the way the old ones could.
Xero (Company)checking…
Xero (Personal)checking…
Arthur (Company)checking…
Arthur (Personal)checking…
How often do these need reconnecting? Xero: never, in normal use — its access token lasts 30 minutes but renews itself automatically behind the scenes on every use, and that renewal keeps working indefinitely as long as it's used at least once every 60 days. A nightly job (2am) already does this automatically. Arthur: its access token lasts about 14 days and currently does not renew itself — you'll need to click "Connect" again roughly every 2 weeks for each Arthur connection.
Manually runs the same check the nightly job does — refreshes both Xero connections and confirms they're genuinely still live. Not needed day-to-day; useful right after fixing a connection issue.
Rent charges
Runs nightly (3am) — computes which active tenancies are due a rent charge and logs it, safely (a tenancy can never be double-charged for the same date, however many times this runs). Pushing charges into Xero as real invoices is a separate, currently disabled step.
Property
Tenant
Charge date
Amount
Status
Rent charge reconciliation
Pre-cutover check: replays each tenancy's full charge schedule from its start date (what Jobo's automated system would have raised) and cross-checks it against the real invoices already in Xero for that tenant. Run this and clear up any mismatches before turning RENT_CHARGES_XERO_PUSH_ENABLED on.
InventoryBase PDF photo check
Every imported "Inventory & Schedule of Condition" PDF is already stored permanently in Jobo's own file storage, so the PDF files themselves are safe regardless of InventoryBase — this checks whether the PHOTOS inside each one are genuinely embedded in the file (safe forever) or missing/broken, so you can catch any problem cases before cancelling that subscription.
Property
Document
Pages
Embedded photos
Done (October 2026). The full-size photo behind every thumbnail in the imported InventoryBase PDFs (4,892 photos, 214 reports) is saved in Jobo, and each photo link inside those PDFs now opens it here (after a property-manager login) instead of InventoryBase. The original of every PDF is kept alongside in storage.
Login activity
Every login and logout across all three portals — property managers, contractors and tenants.
Email
Role
Event
When
Unmatched text replies
Contractor replies that arrived with no prior outbound text on record for that number, so they couldn't be auto-matched to a job — link each one manually below.
Unmatched emails
Emails captured via Bcc from the real mailbox whose sender/recipient address didn't match a known tenant — link each one manually below.
Inspection reports
The tenant self-service "photo + condition per room" report — reorder its steps, and set up the recurring diary that emails tenants when a report is due.
Templates
Each template is its own ordered list of sections — add/relabel/remove steps, build extra templates for different situations (e.g. a lighter move-out check), and pick which one is used by default. A report already started keeps whatever template/sections it began with.
Sections, in order
Diary
A tenant is automatically emailed to complete a new report every time it comes due — one interval applies to every tenancy, but each one has its own due date since they don't all start at the same time.
Manually runs the same nightly check — creates/reminds about any due reports immediately. Not needed day-to-day.
Email templates
The wording of automated emails Jobo sends — edit the subject/body below, using the listed placeholders. Leaving a template alone just keeps using its default content.
Add contractor manually
For contractors who won't have an Arthur work order to link them (e.g. one-off jobs) — they'll appear in the contractor dropdown right away and won't be removed by "Refresh contractors from Arthur".
One-off: pulls every existing work order from both portfolios into Jobs (job numbers like M-WO1073 / P-WO1073). Safe to re-run — re-imports update existing rows rather than duplicating.
Job numbering
The last job number issued — the next job created will be one higher. Change this to skip ahead (e.g. to avoid clashing with an old numbering scheme).