back to blog
/ essay

Can I Build Billing Software That Fits How My Business Actually Invoices?

Spreadsheets lose track of what's paid, and packaged billing tools assume an invoice shape and a workflow that aren't yours. The third path: start from a real invoicing and AR/AP foundation, shape it to how you bill, and own the database underneath.

Can I Build Billing Software That Fits How My Business Actually Invoices?

Yes — and if you’re asking, you’ve probably hit the point where invoicing in spreadsheets has started costing you real money.

Billing is specific in ways that matter financially. How your invoices are structured, what your payment terms are, how a quote becomes an invoice, how you match a payment to what it pays, what you owe versus what you’re owed — get any of it slightly wrong and you’re chasing money or miscounting it. Spreadsheets enforce none of this. Packaged billing tools enforce their version of it, which is rarely yours.

The real question isn’t “can I send invoices?” It’s “can I bill the way my business actually works, without losing track in spreadsheets or bending to someone else’s tool?” There’s a good answer — after a look at why the usual options disappoint.

Why spreadsheets and packaged billing fight you

A spreadsheet will let you write an invoice, but it has no concept of a payment that settles it, a term that’s overdue, or a bill you owe a supplier. Reconciling what’s actually paid becomes a manual, error-prone ritual — and the numbers your business runs on are only as good as that ritual.

A packaged billing tool has the opposite problem: a fixed invoice layout, a fixed line structure, a workflow you can nudge but not reshape. Where your billing differs — your terms, your approval steps, the way you group lines — you get a workaround, and workarounds in finance are how the books and reality drift apart.

The two ways teams usually lose

Run it on spreadsheets. Flexible, free, and structurally unable to tie invoices to payments or tell you what’s outstanding. It breaks the moment volume, multiple people, or a “what’s actually unpaid?” question shows up.

Buy a rigid tool — or build one from scratch. A packaged tool fits until your billing doesn’t match, then you’re bending it. A from-scratch build fits on launch day, costs months, and leaves you maintaining a custom finance app forever.

There’s a third path.

A spreadsheet or rigid billing tool can't tie invoices to payments or track what's owed, while a shaped model links invoices, bills, and payments across accounts receivable and payable.

The third path: start from a foundation, then shape it

dForge ships a working invoicing and AR/AP core out of the box: invoices with line items, bills with line items, payments, payment terms, and bank accounts — with customers and suppliers living in the shared parties model. Accounts receivable and accounts payable, from day one.

And because the model is defined by metadata rather than hard-coded, you shape it to how you bill:

  • Shape the invoice itself — your line structure, the fields you put on a line, the layout you send to customers.
  • Define your payment terms — and auto-numbered invoices that follow your own numbering scheme.
  • Add the entities your process needs — a credit note, a recurring-billing schedule, an approval step on a bill — and link them in.
  • Wire the rules — approval routing, validation, lifecycle states from draft to paid, matching payments to what they settle.

Fitting it to your business is configuration, not a code fork — so the next change to how you bill is a change, not a rebuild.

The AR/AP foundation — invoices and bills settled by payments under your payment terms — extended with your own invoice fields, numbering, and approval rules.

And the billing system you shape is one you own

The billing system you build on dForge is a standard PostgreSQL database — your invoices, bills, and payment history, in real tables you can query, back up, and self-host. Financial records are exactly the kind you can’t afford to have trapped in a format you can’t run anything against, so owning them outright matters.

We covered exactly where that ownership line sits — and where it doesn’t — in Only You Own Your Data.

Where the line is

dForge is the operational platform for the money side of your operation — invoicing and AR/AP, sitting on a real double-entry general ledger. Finalized invoices post to the ledger automatically (Dt AR / Cr Revenue / Cr Tax), with a hierarchical chart of accounts, journals, accounting periods, and balances — so this isn’t just invoice tracking, it’s the accounting core.

What’s not in dForge today is payroll, and depending on your country, statutory filing and live bank feeds are things you connect to rather than run inside it (its integration surface is data in via API, out via webhooks). If you need those, integrate them alongside the owned, governed core that tracks every invoice, bill, payment, and journal entry — shaped to how you bill.

Frequently asked questions

Can I customize the invoice layout and line structure? Yes. The invoice, its line items, and the fields on them are part of the model you shape, so the structure and the document you send match how your business actually bills.

Does it handle both what I’m owed and what I owe? Yes. Invoices and payments cover accounts receivable; bills and payments cover accounts payable — both are built in, with customers and suppliers in the shared parties model.

Can I set my own payment terms and invoice numbering? Yes. Payment terms are part of the model, and invoices can be auto-numbered to follow your own scheme rather than a vendor’s fixed format.

Do I need developers to build custom billing in dForge? You don’t start from scratch — the AR/AP foundation is there on day one. Shaping it is configuration of the metadata model rather than application engineering, so much of it doesn’t require a developer; deeper changes are still configuration, not a custom codebase.

Can dForge replace my accounting software? For the operational accounting core, yes: invoicing, AR/AP, and a built-in double-entry general ledger — chart of accounts, journals, postings, and accounting periods — with finalized invoices posting to the ledger automatically. What’s not part of dForge today is payroll, and depending on your jurisdiction you may still integrate for statutory filing and bank feeds. So it covers invoicing through the ledger as an owned system you control; confirm payroll and local-compliance needs against your situation.

Is my financial data actually mine? Yes. It runs on a standard PostgreSQL database, one per tenant, that you can query directly, back up, and self-host. See Only You Own Your Data.


If your billing has outgrown spreadsheets and packaged tools don’t match how you invoice, there’s a path between them: start from a real foundation, shape it to your business, and own what you build. That’s what dForge is for — see how the whole platform is built.

/ keep reading

More from the forge

Supabase Builds Your Backend — Not Your Back Office
[essay]

Supabase Builds Your Backend — Not Your Back Office

Supabase gives you a backend: Postgres, auth, APIs, storage, realtime. What it deliberately doesn't give you is the internal operational app your team runs the business on. Here's the gap, and the cleanest ways to fill it.

Igor Shtanko · 4 min
Audit Trail and Row-Level Security, Built In — Not a Premium Tier
[essay]

Audit Trail and Row-Level Security, Built In — Not a Premium Tier

On most platforms, a full audit log and granular access control are the expensive add-on. In dForge they're the floor: every change captured with before/after values, and row-, column-, and operation-level security applied on every request.

Igor Shtanko · 6 min
Can I Build a CRM That Fits Exactly How My Business Sells?
[essay]

Can I Build a CRM That Fits Exactly How My Business Sells?

Packaged CRM ships with someone else's sales process baked into the schema. Here's the third path between bending a rigid CRM and building one from scratch: start from a real CRM foundation, shape the model to how you actually sell — and own the database underneath.

Igor Shtanko · 6 min
/ try the platform

Stop reading.
Start building.

Open a free workspace on dforge.app — see the platform behind the essays.