Skip to main content
Case Studies / Moniaro Books

Moniaro Books: cloud bookkeeping built for the New Zealand tax year

A bookkeeping platform for NZ sole traders and small businesses, built around GST, NZD and the April-March tax year, with open banking feeds and AI document processing doing the manual work.

Visit Moniaro Books

Problem

New Zealand sole traders and small businesses need bookkeeping tuned to local rules: GST returns, NZD, and a tax year that runs April to March. Incumbent accounting products are priced as monthly subscriptions aimed at accountants and larger businesses, which is more than a sole trader with a handful of transactions needs to pay, and are built around accountant-referral workflows rather than a business managing its own books directly.

Moniaro Books needed to combine real open banking bank feeds, AI transaction categorisation and receipt processing, and GST-ready reporting, without the enterprise-accounting overhead that comes with the larger incumbents.

Architecture

Frontend

A React 19 single-page application for the product itself, plus a separate Next.js marketing site, both managed inside an Nx monorepo so code and design tokens are shared across the two.

API

.NET 10 microservices rather than a single monolith, so banking integration, GST/tax-year logic and document processing can each evolve and scale independently.

Database

PostgreSQL, chosen for the relational integrity a financial ledger needs.

Infrastructure

Docker containers on shared AWS EC2 infrastructure alongside the rest of the Moniaro and Corvidae fleet, deployed through the same CI/CD pipeline as every other product in the portfolio.

AI components

AI transaction categorisation with a rules engine on top, and receipt and document OCR with AI matching against real bank transactions.

Engineering decisions

  • An Nx monorepo was chosen specifically to share code between the React SPA, the Next.js marketing site and multiple .NET microservices, while still keeping each service independently deployable.
  • The API was split into microservices rather than one large application, so the banking integration (Akahu open banking across ANZ, ASB, BNZ, Westpac and Kiwibank), the GST and depreciation logic, and the OCR pipeline each have a clear boundary.
  • PostgreSQL underpins every ledger and transaction table, prioritising data integrity over the flexibility a document database would offer.
  • The .NET services follow the same auto-migrate-on-startup pattern used across the rest of the Corvidae fleet, so schema changes ship with the code that needs them instead of a manual migration step.

Challenges

  • Computing GST return figures (IRD box totals) and IRD-compliant fixed-asset depreciation correctly against real New Zealand tax rules, where a rounding or classification error has real compliance consequences.
  • Integrating multiple bank feed providers through Akahu open banking with reliable automatic syncing, rather than a fragile one-off import.
  • Making AI transaction categorisation and OCR receipt matching accurate enough to trust for financial records, not just accurate enough for a demo.

Outcome

  • Deployed and functionally complete, live at books.moniaro.com.
  • Supports open banking feeds from the major New Zealand banks, AI transaction categorisation, receipt OCR, GST return preparation and IRD-compliant fixed-asset depreciation.
  • Runs as part of the wider Moniaro family, sharing identity, billing and infrastructure with Moniaro Track, Moniaro Property and Moniaro Financial Insights.

Want something built this way?

Tell us what you want to build. We reply within one business day with an honest read on scope, cost and timeline.

Start the conversation