Yardstick Daybook — Internal Product Roadmap · May 2026

Financial control layer for small NZ trade businesses.

Daybook connects jobs, invoices, and GST so operators know what they have made and what they owe — without enterprise overhead. This is a working build brief: what is live, what is committed next, and what is explicitly out of scope.

Emotional promise: “I finally know what money is actually mine.” The product should create calm and control, not more admin anxiety.

"Tradies don't lose money on bad work — they lose it in the gap between jobs, invoices, and tax."
Legend: Live in app now Roadmap — committed next build Placeholder — scoped but not built
Core thesis The atomic unit of this business is not a standalone invoice. It is a coherent customer outcome from first enquiry through quote, invoice, payment, and tax clarity inside one job thread.

Ideal customer

Who this product is for (and not for)

Best fit

  • NZ sole traders and small trade businesses
  • 1 to 5 people
  • Owner-operator is still on the tools
  • Invoice-first businesses with reactive work
  • Currently using spreadsheets, Notes, or underusing Xero/MYOB
  • Mobile-first workflow from van/site, not office-first

Not ideal

  • Retail and inventory-heavy operations
  • Payroll-heavy businesses needing payroll as core workflow
  • Dispatch/scheduling-first operations
  • Enterprise admin teams with full GL complexity

Positioning clarity

Why Daybook exists despite Xero and MYOB

Xero / MYOB / QBO mindset Daybook mindset
Accounting-first, chart-of-accounts workflow Operator-first, job-thread workflow
Desktop/admin energy Mobile/on-site energy
Bookkeeping system focus Money control system focus
Accountant-primary flow Owner-operator primary flow (accountant seat is Paid later)

Product identity

Phone-first cloud — not an offline invoicer

  • Create quotes and invoices from the phone already in your pocket
  • A free account is required; cloud sync is the product, not an upgrade
  • Clients open share links with no app and no Daybook account
  • Built for on-site use, not a desktop general ledger
  • Installable PWA and offline outbox are later — not Free launch

Packaging

Three shelves — Daybook Free, Standard, Premium

Always say the product name: Logistics already has a Standard shelf. Daybook Free is quote → invoice → get paid at $0/month and still earns when clients pay via Pay now (0.5% card / 1% bank). Daybook Standard is when the bank talks. Daybook Premium moves GST into their GST account. Standard and Premium are not billed yet.

Daybook Free

$0 Yardstick account · no monthly fee

  • Quotes, invoices, jobs, customers, catalogues
  • Cloud sync, overview, GST on documents
  • PDF, public share links, quote accept, convert to invoice
  • Record a payment yourself; payment terms catalogues
  • Pay now on public invoice — 0.5% card / 1% bank (Stripe + Akahu)
  • Yours vs GST glance after pay; credit notes; mailto overdue shortcuts
  • No expenses hub — that is Daybook Standard
  • No accountant seat; no GST sweep; no reports hub; no chase emails

Daybook Standard

$39 /mo NZD inc. GST · not billed yet

  • Everything in Daybook Free
  • Expenses hub — from the bank or tap
  • Payments mark invoices paid as soon as the bank tells us
  • Spend becomes a draft expense
  • Accountant seat — one included
  • CSV export; logo / colour on PDF + public links
  • Pay now still 0.5% card / 1% bank
  • Not chase emails. Not recurring. Not GST sweep.

Daybook Premium

$59 /mo NZD inc. GST · not billed yet

  • Everything in Daybook Standard
  • Tax sweep to their GST account after pay — sweep does not pay IRD
  • Lodge GST return + pay IRD from that account (lab)
  • Designed for partials, refunds, credits, inclusive/exclusive, unregistered
  • Yours vs GST becomes money in the right pocket
  • Pay now still 0.5% card / 1% bank

Core features

What we are building and why

Route /app

Overview — the engine room

The primary operational surface. It should answer three things at a glance: what is outstanding, what just happened, and what needs attention right now. It is not a list page — it is a command centre.

Primary user story Operator opens app, sees two overdue invoices, two unmatched transactions. Taps new invoice. Comes back later and taps the unmatched card to triage.
Live now

Does

  • New invoice and new quote as primary actions
  • Recent invoices and quotes for quick re-entry
  • Workspace counts (jobs, clients, library)
  • Navigation hub to all core and secondary areas

Does not

  • No full searchable document list — by design
  • No live money dashboard — requires bank feed
  • No unmatched transaction queue — requires reconciliation engine

Next build

  • Attention strip: up to 4 unmatched transaction cards for fast triage when bank is live
  • Money signal: open invoice total and recent paid summary
  • "Yours vs Government" pocket balances once sweeps exist

Route /app/invoice/:id

Invoices

The primary commercial document. Operators invoice for labour and materials; it needs to be fast, professional, and shareable from a phone on site. GST must be automatic, not a configuration exercise. The document is also the entry point for payment — client sees the same link as the PDF.

Key workflow Finish the job → create invoice in split-pane editor → pick client, insert line items from library → preview exactly what customer sees → share link via WhatsApp, SMS, or email from own phone → client pays via bank transfer with reference pre-filled (Pay now on Free) → invoice marks paid.
Live now

Does

  • Create, edit, and view invoices with split-pane editor + live preview
  • NZ GST 15% calculated on all line items automatically
  • Insert line items from reusable library
  • Pick or create client inline
  • PDF output and shareable public link
  • Mark as paid manually
  • Convert quote to invoice preserving line items
  • Public view accessible without client login
  • Contact sender action from public view

Does not

  • No dedicated invoice list/hub — coming next
  • No in-app card payment yet
  • No automatic bank match to payment yet
  • No mileage line items (not in MVP)
  • Custom PDF branding not live (roadmap Paid feature)

Next build

  • Light invoice hub at /app/invoices with status buckets (Draft, Sent, Awaiting Payment, Paid)
  • Pay now on public view — Free + Paid
  • Real-time webhook + SMS confirmation on payment
  • Custom logo and primary colour on PDF and public view
  • Auto-match to bank transaction once reconcile is live

Route /app/quote/:id

Quotes

Quotes are the start of the money thread. Operators need to quote fast on a call or walk-through, share it cleanly, and convert without re-entry. The acceptance model is different to invoices — client accepts online, not pays.

Key workflow Estimate on site → quote created same day → share link → client accepts online (no login needed) → quote converts to invoice with one tap → work continues on same job thread.
Live now

Does

  • Same split-pane editor as invoices
  • GST shown on quote document
  • Online quote acceptance via public link (no client login)
  • Convert accepted quote to invoice without re-entry
  • PDF and shareable link

Does not

  • No dedicated quote hub — coming next
  • No expiry enforcement on quote links yet
  • No quote revision/version history
  • No conditional line items or optional extras builder

Next build

  • Light quote hub at /app/quotes with status buckets (Sent, Accepted, Converted, Expired)
  • Quote link expiry policy and visual indicator
  • Custom branding on Paid tier

Route /app/jobs

Jobs

Jobs are the operational spine of Daybook. The atomic unit of the business is not a standalone invoice — it is a coherent customer outcome: from first enquiry through billing, payment, and tax clarity under one thread. Even informal work gets a home in the Core Job bucket when no job is named.

Key workflow Client calls about a bathroom reno → create job or assign to Core Job → attach quotes and invoices under that job → operator can see total quoted, total invoiced, total paid at a glance. Share the invoice or quote link — there is no separate job portal.
Live now

Does

  • Create and manage job records with stages
  • Core Job bucket for unnamed / informal work
  • Access documents from within job context
  • Cloud sync for the signed-in workspace

Does not

  • No external client-facing job portal (removed — share invoice/quote links)
  • No scheduling or dispatch board (not in Daybook scope)
  • No per-job profit/loss breakdown yet (costs require expenses)

Next build

  • Auto-suggest "bucket by client" when creating invoice with no job selected
  • Job detail view: linked invoice list, quote list, balance summary

Route /app/expenses

Expenses

Expenses complete the money picture — without them, "what did I really make on this job" remains guesswork. Receipt capture on a phone, policy-enforced thresholds, and reconciliation matching turn expenses from a quarterly headache into something operators can keep up with as they go.

Target workflow Buy materials at Bunnings → tap Expenses → photo receipt → description and amount auto-populated → nightly run matches to bank transaction → or: tap to manually declare "no receipt, $30 at Bunnings" — receipt waived under policy threshold.
Placeholder only

Does (today)

  • Route and navigation slot reserved in product IA
  • Visible as intended area to set user expectations

Does not (yet)

  • No photo or file upload capture
  • No receipt policy rules (threshold, tax-deductibility)
  • No reconciliation matching to bank transactions
  • No swipe-to-triage expense flow

Next build

  • Camera / upload-first expense ingestion mobile UX
  • Threshold policy: receipt required for spend over $X
  • Manual no-receipt declaration path with narrative note
  • Nightly match engine: suggest bank transaction → expense link
  • Expense landing similar to invoice/quote hub

Secondary features

Supporting surfaces

Route /app/customers

Clients

Address book and lookup for documents. Operators repeat-invoice the same clients constantly — entering contact details every time is wasteful. Clients are created inline during document authoring or managed here.

Live now

Does

  • CRUD client records: name, contact, address, GST number
  • Inline creation from invoice/quote editor
  • Client picker in document authoring
  • Cloud sync for the signed-in workspace

Does not

  • Not a CRM pipeline or opportunity tracking
  • No email history or communication log
  • Not yet extracted as shared package module

Next build

  • Client detail view with linked invoice/job history
  • Extract to shared @yardstick/customers package when second product needs it

Route /app/catalogue

Line items (Library)

Reusable line items cut repeated entry of labour rates, materials, and standard services. An electrician who charges $85/hr for callout labour should not have to type that every invoice. The UX name may become "Line items" or "Catalog" — the route may stay as-is.

Live now

Does

  • CRUD reusable line items: description, unit, unit price
  • Insert from catalogue into invoice/quote editor
  • Cloud sync for the signed-in workspace

Does not

  • No stock/inventory tracking or quantity management
  • No supplier pricing integration
  • Not yet extracted as shared package module

Next build

  • Nav rename to "Line items" once UX decision is final
  • Extract to @yardstick/catalog when second product uses it

Money layer

Standard talks to the bank. Premium moves GST.

Public document view — every shelf (0.5% / 1% clip)

Akahu B2B payment button

The payment button closes the collection loop that operators currently manage by chasing bank references and following up on late payments. It is bank-to-bank (not escrow, not card), pre-fills the correct reference and builder's account, and fires a real-time confirmation on arrival. This is not about card processing — it is about making correct bank transfer frictionless.

Target workflow Operator sends invoice → client sees "Pay now" button on their phone → taps it → Akahu pre-fills account number and reference → client approves in their banking app → payment lands → operator receives SMS "You've been paid: INV-042 $1,345.50" → invoice auto-marks paid.
T0 — every shelf

Will do

  • Direct bank-to-bank payment with pre-filled reference
  • Optional: client pays the ~$0.20 Akahu fee (convenience fee) or creator absorbs it
  • Real-time webhook fires when payment lands
  • SMS notification to operator on payment
  • Invoice auto-reconciles on payment confirmation

Does not

  • Not escrow — money goes directly to operator's account
  • Not a card payment gateway
  • Bank link not on Free — Pay now is on Free

Next build

  • Pay now on public view for Free + Paid; bank link for Paid
  • Webhook receiver and invoice status update in backend
  • SMS delivery via provider
  • Test on real NZ bank accounts before launch claim

Settings / setup wizard

Banking setup and account linking

Before the money automation layer can run, operators need to link their bank accounts and tell Daybook where to move tax money. This is a one-time setup flow — not always visible in the nav, more like a setup wizard that unlocks the money features. Users choose which accounts serve as GST pocket, tax pocket, and ACC reserve — these can be the same account or different.

Daybook Standard / Premium

Will do

  • Link NZ bank accounts via Traverse/Akahu open banking
  • Select target accounts for GST, income tax, and ACC set-aside (same or separate)
  • Read-only transaction access for reconciliation matching
  • Unlock nightly reconciliation and sweep features on save

Does not

  • Number of linked accounts TBD — product decision before launch
  • Does not control or access customer accounts
  • Does not move money without explicit operator configuration

Next build

  • Banking setup wizard (not in primary nav — behind a trigger)
  • Account limit decision and display
  • Test on real accounts before advertising

Background job + Overview match queue

Nightly bank reconciliation

This is the most mechanically ambitious part of the money layer. Each night: pull incomings and outgoings from linked accounts, run a matching engine against existing invoices and expenses, and produce a suggestion queue. The operator then triages it in Overview with fast binary decisions for unmatched transactions.

Target workflow Morning: open app → Overview shows "4 transactions need review" → tap first card: $1,345.50 received matches INV-042 → confirm → next card: $48.00 at Bunnings → mark as job expense → next card: $890.00 unknown → mark personal and dismiss → nightly run has reduced outstanding from 12 to 3.
Daybook Standard

Will do

  • Nightly import of bank transactions from linked accounts
  • Fuzzy match against invoices (amount + timing + reference)
  • Suggest expense matches for outgoing transactions
  • Surface up to 4 priority unmatched items in Overview
  • Card-based triage: match, mark personal, mark expense, dismiss

Does not

  • v1 does not auto-confirm matches without user approval
  • Does not try to be clever about expense offset logic in v1
  • Not a full bank statement view

Next build

  • Backend nightly job (platform boundary TBD)
  • Match engine with confidence scoring
  • Overview attention queue UI with swipe/tap triage
  • Full unmatched list for power users who want the full picture

Daybook Premium / My Money vs Tax

Tax set-aside sweeps (My Money vs Tax)

The tightest pain in small-trade cash flow is accidentally spending GST money. Daybook's answer is to move a prudent GST/tax-related amount into a separate user-owned bank pocket every time a payment lands. It does not pay the IRD for you — it just keeps the money out of sight until filing time. Operators can see exactly what is "theirs" versus what is "the government's" without ever opening a spreadsheet.

Target workflow Payment of $1,150 inc. GST lands → Daybook calculates $150 GST component → transfers $150 to nominated GST savings account → operator's operating account shows $1,000 → at filing time, GST savings account has the exact amount owed (or close to it) already sitting there.
Roadmap — Daybook Premium

Will do

  • Trigger set-aside transfer on confirmed payment
  • Calculate maximum prudent tax amount (conservative — no expense offset in v1)
  • Transfer to operator-nominated account (GST / tax / ACC)
  • Show "My Money vs Tax" balance view in app
  • On transfer failure: surface insufficient funds notification
  • Manual retry button for failed sweeps
  • "Accept not moved" acknowledgment for when operator chooses to skip

Does not

  • Does not pay the IRD — sweep only moves between your accounts
  • Does not guarantee exact IRD liability — conservative estimate
  • Does not factor in expense offsets in v1
  • Does not hide failure states from the operator

Next build

  • Sweep logic wired to payment confirmation event
  • My Money vs Tax dashboard card on Overview
  • Failure states: notification + manual retry button (build this first)
  • Transfer audit log visible to operator and accountant

Platform capabilities

Access, settings, and admin

Permission model

Accountant access — no extra seat fee

On Daybook Standard, the accountant gets a proper seat inside the client's system — not a PDF dump at year end. They see job-threaded records and GST-ready views, with access limited by permission model. Xero and MYOB charge for accountant seats; Daybook includes one accountant on Standard.

Live now (permission model)

Does

  • Accountant gets a read-only (or limited) login on the same app
  • Permission-driven access via daybook:accountant:read
  • No separate product URL or separate product needed
  • Included on Paid — no extra subscription

Does not

  • Accountant invite flow not fully built yet
  • No accountant-specific views or exports built yet

Next build

  • Email invite to accountant from org settings
  • IRD GST101-oriented export for filing prep
  • Accountant sees same job-threaded views, filtered to what they need

Settings + admin.yardstick.nz

Company settings and admin hub split

Company trading details, logo, primary colour, BCC for emails, and core branding are not Daybook-specific — they also apply to Logistics and any future Yardstick product. The direction is to hoist these to a shared admin surface (admin.yardstick.nz) that both products read. Daybook-specific workflow settings (onboarding, module toggles) stay in Daybook itself.

Roadmap

Does (today)

  • Logout action in authenticated shell
  • Permission-based access model already defined

Does not (yet)

  • No in-Daybook company profile editing
  • No module toggle controls (hide Quotes, hide Jobs, etc.)
  • No onboarding flow for new business setup

Next build

  • Daybook onboarding: NZBN if company, other-income path if sole trader
  • Module toggles in settings (e.g. hide Quotes removes nav + routes)
  • Admin hub at admin.yardstick.nz for trading name, logo, primary colour, BCC
  • Daybook reads org config from admin hub via API

Hard boundaries

What Daybook is not — by design

Not a full general ledger Larger or more complex businesses that need a full GL stay on Xero/MYOB. Daybook is not trying to replace their chart of accounts.
Not scheduling or dispatch software No calendar-first job board, no GPS, no crew rostering. That is ServiceM8/Tradify territory. Daybook is admin-first and money-first.
Not payroll Payroll is out of Daybook scope. If it needs to connect, it connects to a payroll product via export/integration.
Not live myIR Premium lab can lodge a GST return and pay IRD from your GST account. Nothing is sent to IRD. The operator or accountant still owns live filing.
Not escrow Akahu payments go directly bank-to-bank to the operator. No held funds, no Daybook intermediary.
Not inventory or warehouse management Line items are for invoicing speed, not stock tracking.
Not an SMS marketing product SMS in the Daybook context is payment confirmation only — not outbound reminders or marketing messages.
Not built for enterprise admin teams If a business has full-time admin staff and complex GL requirements, Daybook is not the right fit.