Skip to Content

PMIS Federation Orders

Exchange RFQs, quotations, purchase orders, and sales orders between independent Odoo 18 Community databases. Each receiver owns its native documents, commercial settings, counterpart selection, and confirmation decisions.

Features

  • Explicit native Send for draft/sent RFQs and quotations and confirmed orders.

  • Frozen outgoing revisions and explicitly selected supporting files through Exchange's authenticated Transport channels.

  • Automatic receiver draft creation after exact routing and partner verification.

  • Priced productless drafts when product or unit mappings remain unresolved.

  • Receiver-local taxes, unchanged active quotation currency, and approved unit conversions preserving quantity, price, discount, and untaxed line amounts.

  • Exact seller quotation and portable line correspondence for priced buyer requests.

  • Separate sender-owned document identities within the same original exchange.

  • Permanent native order/line correspondence and immutable application history.

  • Readable before/after descriptions, products, units, quantities, prices, and discounts.

  • Explicit review of revisions, receiver edits, confirmed orders, and existing drafts.

  • Optional automatic updates limited to untouched editable drafts and verified immediate predecessors. Productless revision fallback requires receiver opt-in.

Setup

Install pmis_federation_order on both databases. Dependencies are sale, purchase, and pmis_federation_exchange; no additional Python packages or external OCA addons are needed. Shared login, Account, messaging, and Matrix are independent of order exchange.

In Federation > Document Routes, approve the exact operating company, instance pair, counterparty, verified partner, and Orders capability. Configure reviewed outgoing and incoming Connections, sender identities and memberships, protected runtime bindings, and credentials as described in Exchange's README. Directory ownership does not authorize another operating company.

Approve product variants, units, and packaging in Document Mappings. Missing products do not prevent draft creation. Unavailable quotation currencies remain in review; the adapter never activates or converts currencies. Sellers use their local sales pricelist currency for unpriced buyer requests. A quoted buyer response must agree with the seller's actual quotation currency and native pricelist.

Sending and responses

Open a native RFQ, quotation, or confirmed order and select Send Federation Order. Choose the original reviewed outgoing connection and any readable supporting files belonging to that document. Send queues a frozen revision; native business state remains unchanged. Exchange owns bounded delivery, retries, and receipt reconciliation.

A received order's explicit response uses the same exchange and its own local document identity. Portable line lineage links the exact counterpart records; native record IDs stay local. Received documents never originate a separate exchange simply because the receiver sends a response. Another route cannot take over the original order. Sections and notes are outside the initial wire contract.

RFQs and unquoted POs request seller pricing; buyer amounts remain evidence. Seller quotations supply authoritative prices, discounts, and currency. A confirmed buyer PO can reference the exact received quotation. Added buyer lines require a new seller quotation. Changed buyer prices or discounts cannot claim quotation authority. On the seller, referenced terms, units, products, currency, digest, and line correspondence are proved before application.

Receiver review

Resolved first deliveries create one native draft SO for an RFQ/PO or one native draft PO for a quotation/SO. Exact retries reuse the original journal and counterpart. Files are copied to that native order only after all declared bytes are verified. Held currency, verification, or native application issues require explicit review.

Open Federation > Incoming Documents > Review Order Changes. Compare the current and proposed values, enter review evidence, and accept or reject the exact revision. To reuse an eligible existing draft, select it explicitly and acknowledge replacement. It must have the correct operating company, counterparty, and document direction and must not belong to another exchange. Edits made after opening review invalidate it; refresh the dialog before accepting new values.

Receiver edits are retained until explicitly acknowledged. Removed lines remain linked with zero quantity and a removal marker; accepted restoration reuses their lineage. Independent native deletion likewise requires review before restoration. The original application snapshots retain earlier native values and line history.

Confirmed and canceled counterparts are held for review. Acceptance requires an editable draft; any native cancellation or reopening remains an explicit local business decision. Rejection leaves native state and values unchanged. An applied receipt means that the operation was applied, not that an order was confirmed.

Automatic revision policy

Only the receiver's administrators can enable Automatically Update Untouched Draft Orders on the company/counterparty route. The default is explicit review. Each update requires current verification, exact applied predecessor and dependency evidence, a completely unchanged native draft, and resolved commercial inputs. Allow Productless Revision Fallback is a separate receiver approval. Confirmed orders, receiver edits, and previously held native issues never use automatic updates.

Commercial quantities and discounts retain up to twelve fractional digits. Odoo's existing minimum display precision remains in use. Product selection keeps quoted prices; approved unit changes adjust quantity and price together. Native rounding that cannot preserve an authoritative untaxed amount prevents application. Productless active lines must be resolved before native confirmation.

Ownership and boundaries

Federation > Order Exchanges traces native orders, exact snapshots, line links, and accepted revisions in the authorized operating and directory companies. Archiving a route stops new exchange use while preserving native ownership and trace. Order and line ownership cannot be moved to another company or another order through ordinary record writes. Uninstalling requires valid native product/unit records and restores Odoo's original native line constraints without deleting business documents.

This addon does not automatically confirm orders, validate stock, post invoices, send cancellations, or forward another peer's authority. Shipping and accounting adapters extend the preserved order correspondence independently.