solarOSsolarOS Docs
GuidesBilling

The top-nav Accounting module (/accounting, nav.billing.view) shows Invoices at /accounting/invoices in the URL; that path rewrites internally to the billing route folder (apps/web/src/app/(authenticated)/billing/invoices/, next.config.ts's /accounting/:path* → /billing/:path* rewrite), where New Invoice (invoices/new/new-invoice-page.tsx) creates one. InvoiceStatus (Prisma enum, defaults to DRAFT) tracks each invoice's own lifecycle, separate from PlatformInvoiceStatus, which is the contractor organization's own solarOS billing.

TODO(owner, likely product): write the full guide covering how an invoice is generated from a Project/Work Order versus created standalone, the full InvoiceStatus lifecycle, and how this page relates to Stripe payments and QuickBooks sync.

Was this page helpful?