--- title: "Automatic Order Creation Between Companies" slug: "the-transaction-flow" description: "Streamline your intercompany transactions with automated purchase orders, real-time tracking, and seamless integration for efficient sales order management." status: "update" updated: 2026-09-03T09:15:14Z published: 2026-09-03T09:15:14Z canonical: "docs.abakion.com/the-transaction-flow" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.abakion.com/llms.txt > Use this file to discover all available pages before exploring further. # Automatic Order Creation Between Companies ## Feature Overview When a sales order line in one company is drop-shipped (or marked as a special order) from an intercompany vendor, the app automatically creates the matching purchase order behind the scenes — the user never opens a blank purchase order and types it in. Releasing the sales order builds the purchase order, links every line back to its originating sales order and line, and copies dimensions across according to the app's dimension-mapping rules. The reverse also happens: when the intercompany vendor is really the Supply Company, the incoming order becomes a sales order there automatically once it is accepted from the IC inbox. The link between the two documents is kept alive after creation, not just at the moment of creation. If the Sales Company changes dimensions on the sales order — for example after reopening it and updating a shortcut dimension — those changes are automatically pushed onto the still-open purchase order and its lines, so the two documents don't drift out of sync. The same creation logic also produces purchase return orders from sales return order lines that are flagged for intercompany handling, and reproduces call-off references when the originating line is tied to a blanket order. Only lines that genuinely belong to the intercompany relationship are picked up: the sales line must reference a vendor that is itself set up as an IC partner's vendor, must be a drop-shipment or special order line (or a non-item/comment line used for context), and must not already be linked to an existing purchase line. This selective picking prevents duplicate purchase orders and keeps normal, non-intercompany sales order lines completely untouched. ### Key Facts | Category | Values | | --- | --- | | Where it's triggered from | Releasing a sales order or sales return order (Sales Orders / Sales Return Orders pages) | | Entity types supported | Sales Order → Purchase Order; Sales Return Order → Purchase Return Order | | Line types picked up | Item lines (drop-shipment or special order), comment lines, and G/L Account lines already linked to a purchase line | | Key configuration fields | Buy-from Vendor No. (sales line), Dimension Mapping (IC Setup), Enable Legacy Dim. Mapping (IC Setup) | | Integration points | Sending & Receiving Documents Automatically (transmits the created order), Handling Returns Between Companies (return order variant), Cross-Company Invoicing (dimensions carried onto invoices) | --- ## Getting Started 1. On the intercompany vendor card (Sales Company), confirm the vendor is linked to an IC partner — this is what makes a purchase line eligible for auto-creation. 2. Open **Intercompany Setup** and set **Dimension Mapping** to the mode you want dimensions handled in (`Standard` or `1-1`); enable **Enable Legacy Dim. Mapping** only if you need the older header-propagation behaviour alongside Standard mode. 3. Create a new sales order. On each item line that should be fulfilled by the partner company, set **Buy-from Vendor No.** to the intercompany vendor and mark the line as **Drop Shipment** (or **Special Order**, if used). 4. Release the sales order. 5. Open **Purchase Orders** and confirm a new purchase order exists, linked back to your sales order via **Sales Order No. (sales)**. 6. Check the purchase line's dimensions match the sales line — this confirms the dimension mapping mode is applied as expected. 7. Reopen the sales order, change a dimension, and release again — confirm the change appears on the still-open purchase order without creating a duplicate. 8. Repeat the flow with a sales return order line flagged for intercompany handling to confirm a purchase return order is created the same way. --- ## Related Features This feature only creates and keeps the purchase/sales document in sync — actually getting that document to the partner company is handled by **Sending & Receiving Documents Automatically**, which exports the newly created purchase order to the partner's inbox. **Handling Returns Between Companies** reuses this same creation logic for the return-order variant, so setup here applies to both flows. Dimensions copied at creation time flow through to **Cross-Company Invoicing**, ensuring the eventual purchase invoice carries the same cost allocation as the original sales order. **Setting Up a Partner Company** is a prerequisite — a vendor only becomes eligible for auto-creation once it's linked to a configured IC partner. --- ## User Stories ****Auto-create a purchase order from a drop-shipped sales order line**** **As a** Sales Company order entry user **I want to** have a purchase order created automatically when I release a sales order with a drop-shipped intercompany vendor line **So that** I don't have to create and link the purchase order by hand **Setup:** 1. On the sales line, set **Buy-from Vendor No.** to a vendor linked to an IC partner. 2. Mark the line **Drop Shipment**. 3. Release the sales order. > **Note:** Only lines with outstanding quantity and a genuine IC vendor are picked up — fully invoiced or already-linked lines are skipped. ****Auto-create a purchase order from a special order line**** **As a** Sales Company order entry user **I want to** have the same automatic purchase order creation apply to Special Order lines, not only Drop Shipment lines **So that** both fulfilment methods benefit from the automation **Setup:** 1. On the sales line, set **Buy-from Vendor No.** to the IC vendor and mark the line **Special Order** instead of Drop Shipment. 2. Release the sales order. ****Add a new line to an already-created purchase order**** **As a** Sales Company order entry user **I want to** have a new intercompany line added to the existing linked purchase order rather than a duplicate purchase order being created **So that** I keep one purchase order per vendor per sales order **Setup:** 1. Add a new drop-shipment/special-order line for the same IC vendor to a sales order that already has a linked, open purchase order. 2. Release the sales order again. > **Note:** A new purchase order is only created if none exists yet for that vendor on this sales order; otherwise the existing header is reused. ****Route different vendors on the same sales order to separate purchase orders**** **As a** Sales Company order entry user **I want to** have lines for different IC vendors on the same sales order split into separate purchase orders **So that** each partner company only sees the purchase order relevant to them **Setup:** 1. Add sales lines referencing two different IC vendors to the same sales order. 2. Release the order. 3. Confirm two purchase orders are created, one per vendor. ****Carry a comment line onto the purchase order**** **As a** Sales Company order entry user **I want to** have descriptive comment lines carried onto the auto-created purchase order **So that** the Supply Company sees the same context I entered on the sales order **Setup:** 1. Add a comment line (blank type, with a description) among the intercompany lines on the sales order. 2. Release the order and confirm the comment line appears on the purchase order. ****Skip a line that isn't eligible for intercompany creation**** **As a** Sales Company order entry user **I want to** have normal, non-intercompany sales lines left completely untouched **So that** regular sales orders aren't affected by this automation **Setup:** 1. Add a normal item line without a **Buy-from Vendor No.** or without Drop Shipment/Special Order marked. 2. Release the sales order. > **Note:** Lines are also skipped if the vendor isn't actually linked to an IC partner, or if the line is already linked to an existing purchase line. ****Choose the dimension mapping mode for intercompany documents**** **As an** intercompany administrator **I want to** control how dimensions are copied from the sales document onto the created purchase document **So that** cost reporting is consistent with how the two companies structure their dimensions **Setup:** 1. Open **Intercompany Setup**. 2. Set **Dimension Mapping** to **Standard** (BC's default mapping rules) or **1-1** (header dimensions copied directly across). 3. Optionally enable **Enable Legacy Dim. Mapping** to keep the older header-propagation behaviour on top of Standard mode. ****Keep dimensions in sync after the purchase order is created**** **As a** Sales Company user **I want to** have dimension changes I make on the sales order after release reflected on the still-open, linked purchase order **So that** I don't have to manually re-align dimensions on both documents **Setup:** 1. Reopen a sales order that already has a linked purchase order. 2. Change a shortcut dimension on the header or a line. 3. Release the sales order again. > **Note:** Header dimensions only refresh automatically in 1-1 mapping mode, or in Standard mode with legacy mapping enabled. Only purchase orders still in Open status are updated. ****Refresh line-level dimensions independently of header mode**** **As a** Sales Company user **I want to** have line-level dimension changes propagate to the linked purchase line regardless of the header dimension mapping mode **So that** line-level cost tracking stays accurate even when header dimensions aren't auto-propagated **Setup:** 1. Change a dimension on a single sales line already linked to a purchase line. 2. Release the sales order again and confirm the purchase line reflects the change. ****Auto-create a purchase return order from a flagged sales return**** **As a** Sales Company user managing a customer return **I want to** have a purchase return order created automatically for the intercompany vendor **So that** the Supply Company can accept the goods back without me creating the return manually **Setup:** 1. On the sales return order line, use a **Return Reason Code** marked for intercompany handling. 2. Release the sales return order. > **Note:** This reuses the same header/line creation logic as regular orders — see [[Handling Returns Between Companies]] for what happens after creation. ****Carry a blanket order reference through to the created purchase line**** **As a** Sales Company purchasing planner **I want to** have the blanket order number and line number carried onto the auto-created purchase line **So that** the Supply Company can match the call-off to the correct blanket agreement **Setup:** 1. Create a sales line that calls off from a blanket sales order, with the IC vendor set. 2. Release the order and confirm the linked purchase line carries the blanket order reference. ****Prevent duplicate lines when re-releasing a sales order**** **As a** Sales Company user **I want to** be able to reopen and re-release a sales order multiple times without duplicate purchase lines being created each time **So that** the purchase order stays accurate no matter how many times I amend the sales order **Setup:** 1. Release, reopen, and release a sales order with intercompany lines multiple times. 2. Confirm each already-linked line is recognised and not duplicated on the purchase order. ****See which sales order a purchase order was created from**** **As a** Sales Company purchasing user **I want to** see the originating sales order number and line number on the auto-created purchase order **So that** I can trace any purchase order back to the sales order that generated it **Setup:** 1. Open an auto-created purchase order. 2. Review the **Sales Order No. (sales)** field on the header and lines. ****Understand when a G/L Account line is included**** **As a** Sales Company user using non-item charges on an intercompany sales order **I want to** know that a G/L Account line is only carried across if it's genuinely tied to the intercompany vendor and not already linked **So that** I don't expect every G/L line to automatically appear on the purchase order **Setup:** 1. Add a G/L Account line with a **Buy-from Vendor No.** set to the IC vendor. 2. Release the sales order and confirm the line appears on the purchase order only if not already linked to a purchase line. ****Confirm normal (non-drop-ship) sales orders are unaffected**** **As a** Sales Company user processing a standard, non-intercompany sales order **I want to** be certain this automation does nothing on orders that don't involve an IC vendor **So that** I can trust regular order processing is unchanged **Setup:** 1. Release a sales order with no drop-shipment/special-order lines and no IC vendor references. 2. Confirm no purchase order is created. --- ## Field Reference | Field name | Where to find it | What it does | Default value | | --- | --- | --- | --- | | Buy-from Vendor No. | Sales Order/Sales Return Order line | Identifies the intercompany vendor whose lines are picked up for automatic purchase order creation. | *(blank)* | | Drop Shipment | Sales Order line | Marks a line as fulfilled directly by the vendor; eligible for auto purchase order creation. | No | | Special Order | Sales Order line | Alternative fulfilment flag that also makes a line eligible for auto purchase order creation. | No | | Return Reason Code | Sales Return Order line | When flagged for intercompany handling, triggers automatic purchase return order creation. | *(blank)* | | Dimension Mapping | Intercompany Setup | Controls whether dimensions are copied using Standard BC rules or directly 1-1 from the sales document to the purchase document. | Standard | | Enable Legacy Dim. Mapping | Intercompany Setup | Keeps the older header-level dimension propagation active even when Dimension Mapping is set to Standard. | No | | Sales Order No. (sales) | Purchase Order header/line | Shows which sales order and line the purchase document was created from. | *(system-populated)* |