A billing invoice for products or services
An invoice is a seller's itemised demand for payment, issued for goods or services delivered, stating what is owed, by whom, and by when. It is one of the oldest documents in commerce and one of the most quietly consequential in software, because the invoice is where a company's pricing, billing logic, contracts, and tax rules all have to agree at once. When they disagree, the invoice is where the disagreement surfaces, usually in front of the customer.
The invoice predates writing in any modern sense. The earliest surviving examples are Mesopotamian clay tablets in cuneiform, roughly 5,000 years old, recording quantities, parties, and prices of traded goods. Temple administrators kept them to track produce, which means the first invoices were instruments of accountability before they were instruments of trade.
The document's jobJobUserJob To Be Done: what the user is trying to accomplishView reference → stayed stable for millennia while its medium changed, from clay to papyrus to paper to structured electronic formats. The deeper change is recent and concerns not the document but the revenue behind it. In 2014 the FASB and IASB jointly issued ASC 606 and IFRS 15, converging the rules for recognising revenue from customer contracts. Their five-step model separates the act of billing from the act of earning. An invoice can demand a year's payment today while the revenue it represents is recognised month by month as the service is delivered.
That separation is what makes invoicing hard in subscriptionSubscriptionSales & RevenueA recurring subscriptionView reference → software. The invoice tracks cash owed; revenue recognition tracks value delivered; tax tracks jurisdiction; and dunning tracks what happens when an invoice goes unpaid. Each runs on its own clock, and a billing system has to keep all four reconciled against a single document.
A subscription company bills a customer 12,000 pounds for an annual plan on 1 January. The invoice states the line item, the period covered, the tax, and a due date of 31 January. Cash collection and revenue recognition now diverge: finance recognises 1,000 pounds of revenue each month under ASC 606, regardless of when the 12,000 is paid.
The customer's card fails on renewal the next year. The invoice enters dunning, an automated sequence of retries and reminders that runs for, say, 21 days before the subscription is suspended. Most involuntary churn hides here, in failed payments rather than cancelled intent, which is why the unpaid invoice is a product signal and not only a finance problem. A mid-cycle upgrade adds a further wrinkle: the system must issue a prorated invoice for the partial period, and a careless proration is the edge case that generates a support ticketSupport TicketCustomer SuccessCustomer support request or issueView reference → and a refund.
subscription_billed_via_invoiceSubscriptionbilled viaInvoicehierarchy holds the recurring one-to-many relationship between the contract and its many demands for payment.In the Unified Product Graph, an invoice sits in the monetisation region as the concrete billing artefact a subscription generates, linked by Subscriptionbilled viaInvoicehierarchy. Holding the invoice as its own entity rather than a property of the subscription matters because the document carries facts the contract does not: a due date, a tax treatment, a payment state, a dunning history. Separating billing from earning in the graph lets a product team trace failed payments and proration errors back to the featuresFeatureProduct SpecificationA product capability or featureView reference → and tiers that produced them, which is where most recurring-revenue leakage actually begins.subscription_billed_via_invoice
Type-specific fields on BaseNode
invoice_statusstringCurrent payment status of the invoice
amountnumberTotal amount billed
due_datestringPayment due date (ISO format)
currencystringCurrency code (e.g. "USD", "EUR")
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
4 phases — initial: todo · template: WORK_ITEM
1 edge type connected to this entity.
subscription_billed_via_invoice