Consignment vs principal
Every car has a sourcing mode:
- Principal — you bought it. The capital risk is yours. The car hits your inventory account.
- Consignment — the supplier (consignor) still owns it. You hold it on their behalf, recover your costs, and earn a commission on sale. The car never hits inventory.
The two Add car buttons on the Cars page (+ Principal and + Consigned) choose the mode. They open the same form with a sourcing toggle; you can also flip the toggle inside the form.
Detection
Section titled “Detection”cars.consignorCounterpartyId IS NOT NULL is the canonical signal — every server check branches on this column directly. The form sets it when sourcing = consignment + you pick a consignor counterparty.
GL footprint
Section titled “GL footprint”Principal car
Section titled “Principal car”Purchase: Dr 1100 Inventory of Cars <purchase + landed cost in home> Cr Vault (cash mode) OR Cr 2000 Accounts Payable (credit mode, tagged to supplier)
Each cost row (auction fee, freight, duty, repair): Dr 1100 Inventory of Cars <cost in home> Cr Vault / 2000
Sale (via invoice): Dr 1050 AR / Vault <sale price + tax in home> Cr 4000 Revenue Cr 2100 Tax Payable AND Dr 5000 Purchase Cost <original purchase in home> Dr 5020 Landed Cost <sum of landed cost rows> Cr 1100 Inventory of Cars <total>Consignment car
Section titled “Consignment car”Purchase: NOTHING POSTS to inventory or vault.
Each cost row (the costs you advanced on behalf of the consignor): Dr 1300 Due from Consignors <cost in home, tagged to consignor> Cr Vault / 2000
Sale (via invoice): Dr 1050 AR / Vault <sale price + tax in home> Cr 4xxx Commission Income <your margin> Cr 2100 Tax Payable Cr 1300 Due from Consignors <reverse the costs> Cr 2050 Payable to Consignor <net owed to supplier>No COGS, no inventory derecognition. The consignor gets paid the net of “sale price minus your costs minus your commission” through 2050.
Operational differences
Section titled “Operational differences”| Aspect | Principal | Consignment |
|---|---|---|
| Counterparty | Supplier (optional, in AP if credit) | Consignor (required) |
| Inventory account | 1100 carries landed cost | Never touched |
| Cost rows | Capitalize into 1100 | Capitalize into 1300 |
| Sale GL | Revenue + COGS split | Commission only |
| Sold-status flips | Yes (sold_locally / sold_import) | Yes (same logic) |
| Cancelled with “returned to supplier” reason | Allowed | Rejected (consignor IS the supplier) |