Procurement Integration

Business Context

When outsourcing carriers or agents, you must keep supplier costs synchronized with shipments to maintain accurate margins. Without an integrated purchase flow:

  • Purchase orders are created manually and often late.

  • Shipments and route legs lose track of which carrier was booked.

  • Profitability reports omit large portions of supplier costs.

  • Sales and operations cannot see whether a leg has been booked, invoiced, or paid.

Viindoo’s Purchase integration automates these handoffs so every shipment leg can generate or link to a purchase order, while costs flow into profitability dashboards and on-behalf accounting.

Enable Purchase Tools

Activate from Freight Settings

  1. Go to Freight Forwarder > Configuration > Settings.

  2. In Freight Features, enable Sale & Purchase Integration.

  3. Click Save and confirm the installation prompt.

Enable the sale-purchase bridge in freight settings

The feature installs supporting modules such as viin_sale_supplier_pricelist so each freight service can store supplier references and buy prices.

Install via Apps (Advanced)

System administrators can install viin_freight_sale_purchase directly from Apps. Once installed, the checkbox in settings turns on automatically.

Operating Models

Pure Forwarder (100% Outsourcing)

  • Mark freight products as Subcontract Service.

  • When the sales order is confirmed, the system automatically generates purchase orders using the preferred supplier on the product line.

  • Ideal when every shipment needs an external carrier.

Hybrid Forwarder (Own Fleet + Outsourcing)

  • Leave Subcontract Service unchecked for services you sometimes run with your own fleet.

  • Decide at the shipment/route-leg level whether to outsource by toggling Outsource Requested.

  • Generate purchase orders from bookings only when the operations team confirms that a carrier must be hired.

Purchase Order Creation Methods

Method 1: Automatic PO on Sales Confirmation

Use for pure outsourcing scenarios.

  1. Configure the service product under Sales > Products:

    • On the Purchase tab, enable Subcontract Service and add one or more vendors with their buy prices and lead times.

  2. Create the sales order in Sales > Orders > Quotations:

    • Add the freight product; the Price Reference Vendor column (optional) lets you select the carrier per order line.

  3. Confirm the order:

    • Viindoo creates the shipment, bookings, and purchase orders automatically.

    • Purchase orders inherit the vendor, price, and quantities from the sales line and are linked to the corresponding route legs.

  4. Review and confirm the purchase order from the booking (use the Purchase Order smart button). Adjust prices/quantities if needed, then confirm and bill the vendor.

Example service product with subcontract service enabled and vendor list Sales order showing auto-created purchase order button after confirmation

Method 2: Generate PO from Booking on Demand

Use when you have your own fleet but occasionally outsource.

  1. Configure the product without enabling Subcontract Service, but still add potential vendors so the system can suggest buy prices when required.

  2. Confirm the sales order normally. No purchase orders are created yet.

  3. Decide to outsource:

    • On the shipment or specific route legs, enable Outsource Requested.

  4. Create the booking and assign the carrier plus schedule details.

  5. Generate the PO:

    • Once the booking has a carrier and the leg is marked for outsourcing, a Generate PO button appears on the booking.

    • Clicking it creates (or reuses) a draft purchase order for that carrier and adds lines for each outsourced leg.

  6. Confirm the purchase order and proceed with the vendor billing workflow.

Note

The Generate PO button only shows when the booking has a carrier, route legs, and at least one leg flagged as outsourced that does not yet have a PO line.

Booking form highlighting the Generate PO button for outsourced legs Purchase order created from booking with route leg reference

Compare the Methods

Criteria

Automatic from Sales Order

Generate from Booking

Ideal model

Pure forwarder (always outsource)

Own fleet with optional outsourcing

Product setup

Subcontract Service enabled

Subcontract Service disabled

PO timing

Immediately after confirming the sales order

During operations when outsourcing is confirmed

Operations workload

None (fully automatic)

Toggle Outsource Requested and click Generate PO

Flexibility

Low – every order creates a PO

High – only outsourced legs create POs

Manage Procurement and Profitability

Purchase Order Visibility

From a shipment:

  1. Open the Bookings tab and choose a booking.

  2. Use the Purchase Order smart button to review linked POs. Each route leg becomes a PO line, and multiple legs for the same carrier are grouped into one PO.

Track Costs and Margins

  1. On the shipment kanban view, click Profitability.

  2. Revenue, costs (including PO costs), and margin percentages appear.

  3. Use Freight Forwarder > Reporting > Profitability Report to analyze profit by shipment, customer, route, or salesperson.

Shipment profitability popup showing revenue, purchase costs, and margin

Handle Carrier Changes

  • Before a PO exists: simply change the carrier on the booking; the next automatic or manual PO will use the new vendor.

  • Draft PO already created: delete/cancel the draft lines, change the carrier, then regenerate the PO.

  • Confirmed PO: cancel the existing PO (and related vendor bill if needed) before switching carriers.

Frequently Asked Questions

Why are there two PO creation methods? They reflect two business models: pure outsourcing vs. mixed fleet. Choose the approach that matches each freight product or route.

When should I enable “Subcontract Service”? Enable it only when the service always requires a vendor (e.g., ocean freight, air freight). Leave it off for services sometimes handled internally (domestic trucking, warehousing).

What is the difference between “Subcontract Service” and “Outsource Requested”? Subcontract Service is a product-level flag that always creates a PO upon sales confirmation. Outsource Requested is a shipment/leg-level toggle used for ad hoc outsourcing.

Can I create a PO manually? Yes. Create it in Purchase > Purchase Orders > Create and set the shipment’s analytic account on the PO line so costs roll into the shipment. However, you lose automation and leg-level links.

Do purchase order prices update if the vendor changes rates? No. POs retain the price captured at creation. Delete/recreate the line or edit prices manually to match the latest vendor quote.

Terminology

Purchase order (PO), request for quotation (RFQ), vendor, carrier, vendor pricelist, subcontract service, purchase order line, vendor bill, outsource, slot, contract rate—these are the primary terms used within the procurement integration.

See also

  • booking/workflow-and-scenarios – Generate bookings before creating POs from route legs.

  • booking/management-and-faq – Monitor bookings and stakeholder notifications.

  • integration/accounting – Extend supplier costs into invoices and profitability reporting.