SUPPLIER_TO_OWNER
AI-generated content
This document was generated by an AI assistant from the 'Event Matrix Accounting' Google Sheet and the AccountingEventType Java enum. The "Code references" section is regenerated by adb-doc/scripts/sync-accounting-events.js. Verify accuracy before relying on the details.
Business case (verbatim from the sheet, French): Je transfère une dette fournisseur au compte du propriétaire (settlement de paiement sortant).
Transfer a supplier debt to the owner's account upon outgoing-payment settlement.
At a glance
| Field | Value |
|---|---|
| Family | transfers |
| Enum constant | AccountingEventType.SUPPLIER_TO_OWNER |
| Prefix | STO |
| Settlement priority | 100 |
| Journal (catalog key) | SUPPLIER_TO_OWNER |
| Journal (label) | Transfert dettes fournisseurs au propriétaire |
| Recurrent? | no |
| Manual? | no |
| Status | Développé |
| pieceReference chrono | STO_<serial> |
Accounting entry
| Side | Account |
|---|---|
| Debit | 466100 (RDC-xxx, owner aux.) |
| Credit | 800000 — Résultat (off-balance) |
See plan-of-accounts.md for account labels and journals.md for the full journal list.
Code references
Definition — adb/adb-model/src/main/java/fr/lifeconnect/adb/model/accounting/AccountingEventType.java:106
Call sites in adb-accounting (5):
- adb-accounting/src/main/java/fr/lifeconnect/adb/accounting/model/events/SupplierToOwner.java:51
- adb-accounting/src/main/java/fr/lifeconnect/adb/accounting/model/events/SupplierToOwner.java:52
- adb-accounting/src/main/java/fr/lifeconnect/adb/accounting/model/events/SupplierToOwner.java:72
- adb-accounting/src/main/java/fr/lifeconnect/adb/accounting/model/mapper/AbstractAccountingEventMapper.java:113
- adb-accounting/src/main/java/fr/lifeconnect/adb/accounting/model/mapper/AbstractAccountingEventMapper.java:258
Confluence
- Confluence: not documented
Open questions
- Agency fee lines — Cloudflare, owner decision 2026-10-13 (« option C »). A settled
OUTGOING_AGENCY_INVOICEDEBIT line whoseeventNatureis one of the JVM's fivePOST_SETTLEMENT_ALLOWED_EVENT_NATURES(AccountingFunctions.java:64-70, admitted bypreValidationPostSettlements:221-231) is transferred as the JVM'sInvoiceAccountingEvent.postSettlement(InvoiceAccountingEvent.java:55-73) builds it: SUPPLIER_TO_OWNER of natureOUTGOING_INVOICE(:88-94), DEBIT the mandate's 466100 auxiliary / CREDIT 800000, for the settlement's amount, on the settlement's Paris day, keySUPPLIER_TO_OWNER-PROCESSED-<YYYY-MM>-<settlement id>, anSTO_piece; both sides of the settlement stampedtransferred(services/accounting/src/posting/settlementTransferPosting.mjsresolveTransfer). A tenant-fee line (…_TENANT_FEES_…nature) is no candidate and is never transferred. - No automatic backfill (owner decision 2026-10-13). A settlement on an agency fee line that the invoice payment did NOT write — origin other than
SETTLEMENT_ORIGIN.INVOICE_PAYMENT: the SPI import'sSPI:FEELETTERletterings (origin MANUAL, backdated, never transferred), or any later lettering by hand — is never posted by an automatic run (PAYMENT_MODIFIED, the lettering route and its retry job, an entry message, a reversal's post-commit run): each logs a named skip. The repair route lists it as due, flaggedmanualFeeLettering: true(POST /accounting/repair/lost-side-effects/post-settlement-transfers, dry-run by default), and only itsapply=trueposts it (agencyFeeLines.mjsisFeeLetteringHeldForRepair,repair/lostSideEffects.mjs). Divergence from the JVM, which transfers any eligible settlement whatever its origin (PostSettlementsProcessorImpl.java:173-187). - Reversal. A transferred fee settlement whose payment is reversed is reversed by the existing path (the reversal copies the transfer stamp; the payment's PAYMENT_MODIFIED reverses the stamped transfer). Open: a fee lettering never transferred, then reversed, stays held by the guard —
settledLineTransfers.mjsblockingReversalsproves the cancelling pair on the stored line, which carries no mandate (the generator resolves it from the invoice header afterwards): nothing is posted, the line is listed as held. - Dated invoice payment — Cloudflare, 2026-10-13 (server defect S3 of the SPI import).
POST /accounting/invoice-payment/{invoiceId}/{postingDate}/processandPOST /accounting/invoice-payment/processtake an optional?settlementDate=YYYY-MM-DD, the manual lettering's parameter (PR #710,services/accounting/src/posting/settlementDate.mjs). Given, the payment's INVOICE_PAYMENT settlements are stamped at UTC midnight of that day, so the SUPPLIER_TO_OWNER the payment's change event posts for each lettered line is dated that day: posting and document date, period, key month, JE year. Absent, the clock stamps them, as on the JVM (SettlementServiceImpl.java:349); the screens send no date. Refused (400, nothing written) when the day is not a calendar day, is after today, or precedes the payment's posting date or an invoice line the payment letters (posting/invoicePaymentSettlements.mjs). Measured before the fix (staging, SPI import of 2026-10-13): 1 036 875.57 € of owner charges were dated the run day instead of January to September.