Skip to Content

Federation implementation backlog

Implement business document exchange for Odoo 18 Community using Core identities and scoped Transport, independently of Matrix, messaging, and shared login.

Sequence: V9 → V4 → V5. Deliver the remaining V6/V10 work with every adapter, using the shared Exchange contracts, reviewed routing, and transactional delivery services. IDs are stable references, not implementation order. Receivers own native records, mappings, review, and lifecycle decisions. No shared native IDs, arbitrary remote model writes, or automatic confirmation/posting.

Agreed commercial rules

  • Localization is outside exchange scope. Each side uses its own Odoo partner, product, fiscal-position, and company tax settings; never copy/map sender taxes.
  • The seller's quotation sets prices, discounts, and currency. A purchase-led RFQ requests prices; buyer-supplied amounts are not authoritative. The seller's explicit quotation response updates the same exchange and counterpart.
  • Exchange tax-exclusive prices/discounts and preserve the quoted untaxed amount. Derive untaxed equivalents from tax-inclusive source prices using sender Odoo calculation; retain original prices, taxes, and totals as evidence. Receiver pricing must preserve the untaxed amount even with price-included local taxes.
  • Preserve quotation currency without automatic conversion or currency activation; unavailable currency requires review. Product selection preserves quoted prices. Unit conversion adjusts quantity and unit price together, preserving line amount. Convert units/packaging automatically only through approved conversions; unknown or incompatible units require review. Productless draft lines retain original quantity, unit description, and price while conversion remains unresolved.
  • Initially keep one counterpart order line per source line, with stable references. Different local products and unit conversions are supported; line splitting/merging across products is deferred.

Shared foundation

  • [ ] V6 — Ownership, revisions, and loop prevention — remaining stock/accounting adapters, delivered with V4/V5/V9. Order ownership and reviewed revisions are implemented.
  • Received documents never echo as new originating exchanges. Explicit responses remain bound to the original exchange; conflicts cannot overwrite receiver edits.
  • Default remaining document revisions to explicit receiver review. Only the receiver may enable automatic updates per company/counterparty, for untouched drafts with resolved mappings or approved productless fallback and verified revision sequence.
  • Cover prices/discounts/products/quantities and added/removed lines. Show differences for acceptance; apply accepted revisions atomically, preserving line links/history. Completed stock/accounting documents always require review; cancellation never uses automatic updates.

  • [ ] V10 — Correspondence and reconciliation — remaining stock/accounting links, delivered with V4/V5/V9. Company-scoped order/line correspondence is implemented.

  • Maintain company-scoped picking/move and invoice/bill/line correspondence, native order-to-picking/invoice links, peer references, and receipt/delivery evidence.
  • Resolve delayed dependencies without duplicates or unverified name/native-ID matching. Support partial/multiple deliveries, consolidated invoices, returns, and corrections.
  • Ambiguous links require review; authorized users can trace both sides without exposure of another company's records.

Document adapters

  • [ ] V9 — Outbound/inbound pickings — build on the Orders adapter; deliver with V6/V10 and relevant V5 lifecycle behavior.
  • Add reviewed company/counterparty/capability-scoped warehouse, picking-type, and location mappings. Wire native Send/acceptance to shared delivery and review services.
  • Explicit Send after outbound validation, with actual shipped quantities. Send partial deliveries separately against the same order; never validate receiver receipts.
  • Create/link inbound pickings using local stock mappings. Link moves to counterpart PO lines, reuse eligible order-generated receipts, and preserve backorder links. Missing order correspondence requires pending resolution/review; prevent duplicates.

  • [ ] V4 — Draft vendor bills — use shared delivery, V8/V9/V10 for links, and V6.

  • Add reviewed company/counterparty/capability-scoped journal and account mappings. Wire native Send/acceptance to the lifecycle contracts, shared pricing, frozen invoice PDFs, transactional delivery, and receiver reviews.
  • Explicit Send after seller invoice posting. Automatically create one receiver draft bill when routing/required mappings are resolved; otherwise hold for review. Apply quotation-currency, local-tax, attachment, and untaxed-price rules.
  • Retain the seller's invoice date as the bill invoice date; determine accounting date using receiver settings and permitted periods. Preserve source dates as evidence; require review when a date cannot be applied.
  • Check source totals/currency and duplicate candidates; retries cannot duplicate. Receiver-tax differences are informational; unexplained quantity/price/currency/ untaxed-total differences require acknowledgment before posting.
  • Support standalone invoices. When supplied, retain order/line/delivery references and flag unresolved links; never silently discard them or treat these as standalone.
  • Preserve counterpart invoice references and purchase-line/receipt evidence. Isolate records/attachments/status by company; never automatically post/pay/reconcile.

  • [ ] V5 — Cancellations, corrections, returns, and status — depends on relevant V4/V8/V9 adapters; deliver with V6/V10.

  • Return automatic acknowledgments: received, pending review, applied, rejected, bound to exact exchange/revision with authorized metadata only. Applied means the operation was applied, not confirmed/posted. Status never sends document changes or alters native business state.
  • Explicit cancellation notices always require receiver review. Never automatically cancel counterparts. A replacement has its own document identity and explicit replaces-reference; preserve original links and receiver handling authority.
  • Explicitly send validated stock returns with actual quantities and original delivery/move references; create/link unvalidated counterpart return pickings. Returns and credit notes remain separate; neither automatically creates/sends the other.
  • Explicitly send posted seller credit notes under invoice delivery/PDF/currency/ tax/discrepancy rules. Create draft vendor refunds linked to original invoice/bill; unresolved originals require review. Receiver posting stays manual; no payment/ reconciliation or overwriting of original accounting records.
  • Handle invoice corrections and protect posted accounting, completed stock moves, and independently confirmed orders from silent overwrites.

Shared safeguards

  • Verify identity/current company/delegation; UUID/email/name/VAT alone grants no access. Keep Directory Owner separate from operating company.
  • Preserve receiver credentials, independent grants/native users, and ownership on withdrawal. No implicit forwarding/transitive delegation; preserve mixed-role A/B and B/C/D authority, pair-bound replay, and exact company isolation. See mixed-role ownership.
  • Remove implemented items; align affected usage documentation and Slovenian translations.