Income-and-expense accounting with builders for quotes, contracts and invoices – in one week

Accounting as SaaS: quotes, contracts and invoices in a builder, compliant invoicing with e-invoices and signatures, receipts and cash-basis income-and-expense accounting – in one week, mostly assembled from existing building blocks.

How it works
  1. Domain model
  2. Existing building blocks
  3. Quote · contract · invoice
  4. Compliant invoicing & e-invoice
  5. Receipts & payments
  6. Income-expense & VAT return
Description

What was built

Accounting for small businesses and freelancers, as part of the mahevi platform, multi-tenant and in production:

  • Builders for quotes, contracts and invoices: you type directly on the page as it will be printed – next to it the PDF, rendered live by the server. Contracts are assembled from chapters and reusable clauses, and a quote becomes an invoice with one click.
  • Compliant invoicing: a checklist of mandatory details that only enables “Finalise” once nothing is missing; numbering assigned by the system; finalised invoices that can no longer be changed; cancellation only by credit note; e-invoicing to ZUGFeRD / Factur-X (EN 16931) and digital PDF signatures.
  • Sending and dunning: every email visible and editable before it goes out, payment reminders and dunning letters, recurring invoices as drafts.
  • Receipts and income-and-expense accounting: incoming invoices captured by photo with the receipt straightened; payments, attachments, suppliers; reports by month, client or supplier, the VAT return overview and exports.

Why one week was enough

The week was less new development than assembly. Much of what accounting software needs was already on the platform, finished and proven: tenants, permissions and two-factor sign-in, uploads and file storage, email with templates per tenant, PDF generation, the signing certificate from the signature tool, the image processing that straightens receipts, and the page-editor pattern from an earlier project.

What was new was mainly the domain: what an invoice, a quote and a contract are, which states they have, which details are mandatory, what must never change once finalised. Amounts are calculated in whole cents, in the browser and on the server by the same rule, and both run against the same test cases. The implementation in between was AI-assisted.

What this does not mean

Not every project is done in one week – and without the existing building blocks this one would not have been either. But that is exactly the lesson: with good, reusable building blocks and a clear domain model, the path from idea to running application is now many times shorter. The bottleneck is no longer the code but understanding the problem.

Next step

Does this fit your plans?

Tell me in a few sentences what it is about – process, data, goal. We will sort out the rest in a conversation.