How it works
Your calendar is already your job list. This turns it into draft invoices for Xero, in about five minutes a week. Set your prices once; it remembers them.
First time — about 10 minutes
- Type your hourly rate. It's the first thing on the page. Ex GST.
- Paste in your Xero contacts. Tap ⚙ → "Your Xero contacts". In Xero: Contacts → Export. Open the file, select all, copy, paste into the box, Save. This stops Xero making a second "Shane K" next to "Shane Kay".
- Paste in your price book (if you keep one in Xero). ⚙ → "Your price book". In Xero: Products & services → Export. Same again. Don't have one? Skip it — the tool asks you for a price the first time it sees each thing, then remembers.
- Sign in with Google. Use the Gmail your calendar is on. Google will say the app "isn't verified" — tap Continue. It's a private tool, not an app-store app, so Google hasn't reviewed it. On the next screen tick both calendar boxes before you tap Continue — Google leaves them unticked. If you miss one, the tool asks again. Is my data safe?
Tip: if your jobs are mixed in with personal stuff, make a separate "Jobs" calendar in Google. Otherwise you'll be unticking the dentist every week.
Writing a job in your calendar
Keep doing what you do. The tool reads normal calendar entries. A few habits make it read better:
- Title = the customer. "Shane Kay" or "Shane Kay – switchboard" both work. If the customer is in your Xero contacts, the invoice goes to them exactly.
- The time on the entry = the hours. 8:00–11:30 bills 3.5 hours at your rate. An all-day entry has no hours, so the tool asks you for them.
- First line of the notes = what you did. That becomes the labour line's description.
- One material per line after that. "2 x 20A RCBO", "RCBO 20A x2" and "2x RCBO 20A" all mean two. No number means one.
- A dollar amount is for the whole line — unless you say "each". "Cable and fixings $60" bills $60. "6 x LED panel $62 each" (or "ea", or "@ $62") bills 6 × $62 = $372. The Check screen shows the sum either way, so you can see which it took.
- Quotes and non-jobs: leave them in the calendar; just untick them on the Jobs screen. Everything starts ticked, so a quick scan down the list is all it takes.
How it prices things — and remembers
Every material line gets a price from the first of these that applies:
- A price you wrote on the calendar line. "$60" on the line wins, every time. Good for one-offs.
- Something you fixed before. If you've ever told the tool what "20A RCBO" costs, it uses that. Spelling and word order don't matter: "rcbo 20 amp" and "20A RCBO" are the same thing to it.
- Your Xero price book. Matched by code, then by name.
- Otherwise it asks you. The line shows needs a price on the Check screen. Pick it from your price book or type a price, tap Save — remember this, and you never see that question for that item again.
Labour is simply hours × your rate. If you've set a call-out fee under ⚙, it's added as its own line on every invoice. Everything is ex GST; Xero adds the GST.
Nothing you haven't checked slips through: a line with no price goes into the file at $0.00 with a ⚠ in the description, so you'd see it in Xero before approving. But you'll have already fixed it on the Check screen.
Every time — about 5 minutes
- Sign in and pick your jobs calendar.
- Find my jobs. The dates pick up from where you left off last time. Untick anything that isn't a job.
- Build my invoices, then check. Each job is a row; tap one to see its lines. Fix anything that needs a price — once.
- Download file for Xero. If anything looks unusual — hours far from the calendar time, a huge quantity, a $0 line — the tool lists it under "Worth a second look" first. Then in Xero: Business → Invoices → Import → pick the file → leave Tax: Exclusive → Import. The invoices appear as drafts. Open, check, approve and send the way you always have.
- Mark these jobs as done. They turn green in your calendar so you can see at a glance what's been invoiced, and the tool skips them next time.
Invoice numbers come from the job date (for example INV-20261104-01), so if you ever import the same file twice, Xero just skips the ones it already has.
Where your numbers live
Your rate, contacts, price book and everything you've told it to remember are saved in this browser on this device. Not on a server, not with MJM. That means:
- On a new phone or laptop, it starts empty. Tap ⚙ → "Move to another computer" → Download settings file on the old one, then Load settings file on the new one. Everything comes across.
- Do that download once in a while anyway, and keep the file somewhere safe. If you ever clear your browser, that file puts you back in a tap.
- Your calendar and Xero are never changed by this, apart from the green colour. Clearing the tool loses only the tool's memory.
If something looks wrong
- Wrong customer name. Use the "Use '…'" button on the Check screen to match it to your Xero contact — it remembers the match. Or fix the calendar title and read again.
- Wrong hours. The time on the entry is the hours. Adjust the entry, or type the hours on the Check screen for an all-day job.
- Need to change a line on one invoice? Tap Edit on it — change the description, quantity or price, or remove it. + Add a line adds one. That changes this invoice only; to remember a price for every job, use "needs a price" → Save.
- A line from your note is missing. Your calendar note sits at the top of each job. Any line that didn't make it onto the invoice turns amber with "not on the invoice" — tap Add it, or That's fine if it was only a note to yourself.
- A line read wrongly (wrong quantity, wrong price). Fix the wording on the calendar entry and read again. Tell Matt what the line said — the reader improves from real examples.
- Xero says a contact was created. The name on the invoice didn't exactly match your contacts list. Re-paste your contacts (⚙) and use the "Use '…'" button next time.
- Anything else: screenshot it and message Matt at matt@mjmconsultancy.com.au.