[ PROFESSIONAL_SERVICES ]

Multi-Company Invoicing System

2024Internal Tools & AdminCapability

What it is

Invoicing across multiple companies from one login, with reminders and reporting.

Client work is shown without identifying imagery

[ THE_PROBLEM ]

Why this existed

A founder or accountant running several entities ends up with a different invoicing tool per company, or one tool bent into a shape that fits none of them.

[ WHAT_WE_BUILT ]

What we built

Company management with per-company setup, product catalogues and categories, configurable invoice schemas and default settings, invoice creation and editing, payment reminders, reporting with charts, team management and user search — over a migration-managed Postgres schema with row-level security policies and file storage.

  • Company management with per-company setup and branding
  • Product catalogues and categories
  • Configurable invoice schemas and default settings per entity
  • Invoice creation, editing and detail views
  • Payment reminders
  • Reporting with charts
  • Team management and user search
  • Migration-managed schema with row-level security policies and file storage

[ HOW_IT_IS_USED ]

How a company uses it

A founder or accountant running several entities bills from one place, with each entity's branding, numbering and defaults kept separate.

Built with

ReactSupabaseChart.js

[ COMMON_QUESTIONS ]

Questions clients ask

Why do configurable invoice schemas matter?

Because entities differ in numbering, tax treatment, required fields and layout, often for regulatory reasons. A single hard-coded invoice format forces the business to work around the software — which is how spreadsheets creep back in.

Is this suitable for statutory compliance?

Invoice format requirements are jurisdiction-specific and change. The system is built so formats are configuration rather than code, but confirming a given format satisfies a given regulator is a scoped piece of work, not an assumption.

Can it handle multiple currencies?

The schema-driven approach accommodates it, but multi-currency brings exchange-rate handling, reporting and reconciliation questions that deserve explicit design rather than being treated as a field type.

Is this close to your problem?

Most engagements start with a version of something on this page. Tell us what is different about yours and we will tell you what it changes.

Start a conversation