Invoicer — invoicing#
Every resource offers the standard set of actions
get, get-by, get-all, save, update-columns, delete, delete-all —
unless stated otherwise. See the CRUD pattern.
Resources#
| Resource | Note |
|---|---|
invoice |
invoice |
invoice-type |
document type |
invoice-template |
template |
billing-line |
number series |
schedule |
recurring invoicing schedule |
customer |
customer |
seller |
seller |
payment-method |
payment method |
payment-status-rule |
automatic invoicing rule |
product-type |
product type (a PDF layout axis) |
A document is an imprint#
An invoice copies in the seller's and customer's address and the bank details.
Changing a customer card does not change issued documents
And vice versa. If a correction is needed, correct both.
Numbering#
The number is assigned by the number series from a mask.
A manual number and a series are mutually exclusive
Sending both fails. Manual numbers are reserved for importing historical documents.
The issue date drives the number
Backdating produces a different year in the mask.
Amount recalculation#
There is no point sending totals
They are recalculated on the server on every save. The inputs are only price, quantity, VAT rate, discount and the VAT toggle.
Header VAT overrides the line rates
With it off, item rates are ignored and the PDF carries no breakdown — even though the values are in the data.
Credit notes#
Not a flag on an invoice. It is a document type with a credit-note flag.
One payment may have several documents
A regular invoice and a credit note.
The PDF#
Produced after saving, in the background.
Without a layout variant no PDF is produced at all
The invoice saves without a file and nothing reports it. The PDF path in the response then stays empty.
Schedules#
A schedule generates invoices on an interval.
A schedule with no number series is silently skipped
Adding the series fixes it, but the missed date does not come back.