Guides

Billing a meal plan that keeps changing

Billing here is harder than a flat subscription because the thing being billed for is physical and intermittent. The invoice has to agree with a stack of boxes that may or may not have arrived.

Disputes are about counts, not rates

Customers rarely argue about the price of a plan they chose. They argue about whether a paused week was charged, or whether two failed deliveries were credited. Both are questions about what physically happened.

If the invoice is produced from the same records that drove production and delivery, those questions are answered by looking. If it is produced separately, they can only be settled by negotiation — and the customer is usually more confident than the operator.

Decisions to make once and apply always

Each of these is defensible either way. What is not defensible is deciding case by case.

  • Does a pause extend the term or forfeit the days?

    Both are sold in the market. Pick one, put it in the terms, and make the invoice show which rule was applied.

  • What happens on a failed delivery?

    Redeliver, credit, or neither — but the same answer every time, and recorded against the delivery rather than in a chat.

  • When is a mid-cycle upgrade charged?

    Immediately with a proration, or from the next cycle. Consistency matters more than which you choose.

Store money carefully and plan for structured invoicing

Two technical habits save a lot of pain. Store amounts as integer minor units with an explicit currency rather than as decimals, because decimal arithmetic on money produces small irreproducible discrepancies that surface as complaints nobody can trace.

And design the invoice record with the identifying fields structured e-invoicing regimes expect, even if you are not obliged to issue that way yet. Storing the fields now is nearly free; adding them to historic records later is not.

Common questions

Should paused weeks be credited automatically?
Only if that is how the plan was sold. The important part is that the rule is stated in advance and applied identically to every customer, because inconsistency here costs more in disputes than the meals are worth.
Why store money as integers?
Because decimal arithmetic accumulates rounding errors across many invoices, producing small discrepancies that are almost impossible to reproduce or explain. Integer minor units with an explicit currency code eliminate the whole category.
Do meal-plan businesses need e-invoicing now?
That depends on the jurisdiction and the size of the business, and it is a question for an accountant rather than a software vendor. Designing records so the required fields exist is worth doing regardless of the current obligation.

See how this works in practice

The home page walks through the same mechanics against a real admin loaded with a demonstration kitchen: production, packing, routes and the customer side.