Splash maps a Sellsy invoice with its rows and its payments as a single object. Writing it follows the Sellsy accounting rules, which are stricter than a plain Api: what follows is what the connector can and cannot do, and why.
Sellsy invoices start as a draft, then get validated. Splash follows that lifecycle:
| Status | What Splash may write |
|---|---|
| Draft | everything: header, rows, dates, customer |
| Validated, Due, Late, Paid | payments only |
| Sent to accounting | nothing |
Validating a document is done through its own Sellsy endpoint, never through an update: Splash validates the invoice when you move its status from draft to a validated one.
[!WARNING] Validation is irreversible, and from that moment the document content is frozen by Sellsy. Nothing Splash sends afterwards changes a line or an amount.
Sellsy keeps a document series numbered in chronological order. A document date cannot be set
before the date of the last validated document of that series: Sellsy answers
La date du document est invalide. and the whole update is refused.
[!TIP] Moving an invoice date backwards usually fails for this reason, not because of a connector limitation. Check the date of the last validated invoice first.
Splash writes the rows Sellsy lets it represent:
Sellsy also offers rows that lay out the printed document — titles, sub-totals, page breaks. Splash has no equivalent for them, and rewriting the rows would destroy them, so a document carrying any of these is read only: Splash reads it, and skips its updates with a message saying so. This is deliberate, not an error.
Payments are written once the invoice is validated, and they are never modified in place: a payment whose amount or date changed is removed, then recorded again.
Payments carry the payment method read from your Sellsy account. When Splash sends a method your account does not know, the connector falls back on the default method set in the connector configuration.