A green badge, a red face
At fictional studio Lantern Works, Mara opens a dashboard showing €1,200 beside a reassuring green badge. She tells a colleague the customer has paid. The badge actually means “invoice emailed.” The bank account, less interested in interface design, shows no corresponding money.
Invoice INV-104 asks North Quay Theatre to pay for a set of commissioned illustrations. It records the charge, identifies the customer and gives a due date. Those facts are useful. None changes an email delivery event into a payment event. The story starts going wrong when one word, “complete,” is asked to mean all of them.
Follow the arrows, then name them
Follow INV-104 to its customer, its billed lines, its currency and its due date. Follow payment allocations separately. Each connection needs to say what it means. “Related to” is how mystery novels begin.
The registry's Invoice gives the document a shared meaning. It does not declare every relationship in that diagram. The homepage's customerId and countryId links are illustrative examples of a model an owner might publish. A real dataset must state whether a country is a billing destination, supplier location or something else. Billing country has its own story, because a two-letter value cannot supply the missing role.
One customer, several identities
North Quay Theatre is the customer in this transaction. Its accounts contact, Inez, is the person reading the message. Confusing those identities sends collections correspondence to a human record and makes a personnel change look like a new buyer.
Customer is a role explains why the commercial relationship belongs beside the underlying person or organization. Organization beyond the name follows the identity that survives a rename. Together they let the invoice point to the right party while its contact details change around it.
The total needs its companions
The fictional invoice has two lines: six illustrations at EUR150 each and one layout package at EUR300. With no other charges or adjustments in this example, EUR900 plus EUR300 gives an invoice total of EUR1,200. A line amount and the document total are different levels of detail. Joining them and summing both is an efficient way to double a business without finding another customer.
Invoice total extends Money amount, so currency travels with the number. Currency is part of the number shows why 1,200 alone is incomplete. The due date needs context too: time zones and due today follows the moment a calendar promise meets a clock.
What the document can answer
The invoice can answer what was charged, to whom, and in which currency. Its lines can explain the calculation. A separate allocation record can help answer how much remains unpaid. The payment-obligation story follows two payments against a EUR1,200 request and explains why the balance is a dated conclusion, not a copy of the original total. Delivery evidence belongs to a further part of the story, and legal enforceability cannot be inferred from the invoice alone.
Mara replaces the single badge with labels for issuance, delivery of the invoice message and recorded payment progress. The dashboard becomes slightly less celebratory and considerably more useful. A meaningful graph earns its place when it prevents a confident answer to the wrong question.