Omnichannel Distribution — Supply Chain Automation Workflow
MurrCloud ERP · Distribution Industry · murrcloud.com/workflows/distribution/supply-chain
MurrCloud
murrcloud.com
Overview
Warehouses
Procurement & COGS
Sales Channels & GL
FX Management
Monthly SOP
Automation Use Cases
End-to-end supply chain
How the supply chain flows
Every product journey begins with a purchase order to Overseas Supplier (China) and ends as automatically posted COGS when an order ships from regional warehouses. The workflow spans procurement, landed costs, multi-warehouse routing, channel revenue, FX management, and contribution margin reporting — all within MurrCloud.
⚡
COGS is automatic. Delivery validation triggers Dr 500000 / Cr 110100 with no manual journal entry — ever.
📦
Landed costs before stock sells. Applying freight and duties while goods sit in In-Transit eliminates COGS variance.
🗂
Channel revenue is automatic. Fiscal Position on each customer record routes every invoice to the correct 400xxx GL.
Inventory locations
Eight warehouses, two categories
Warehouses 1–4 and 7 hold sellable stock that can ship directly to a customer. Warehouses 5, 6, and 8 hold non-sellable stock that must move through an internal transfer first.
Canada Warehouse
WH #1 · Sellable
Fulfills all Canadian customer orders. Default warehouse for CA customers.
US Warehouse
WH #2 · Sellable
Fulfills all US customer orders. Default warehouse for US customers.
Amazon FBA Canada
WH #3 · Sellable
Amazon-managed. Stock deducted via sale_amazon order sync only — never manually.
Amazon FBA US
WH #4 · Sellable
Amazon-managed. Confirm sale_amazon syncs to FBA-US, not US Warehouse WH.
In-Transit (Supplier→CA)
WH #5 · Non-sellable
Canada-bound goods from Overseas Supplier. Landed costs applied here before internal transfer to Canada Warehouse.
In-Transit (Supplier→US)
WH #6 · Non-sellable
US-bound goods from Overseas Supplier. Landed costs applied here before internal transfer to US Warehouse.
Trade Show
WH #7 · Sellable
Cash sales at trade shows. Revenue → 400600. Unsold units transfer back after show.
Repair Centre
WH #8 · Non-sellable
Customer returns quarantined here. Repair cost added to AVCO before returning to regional warehouses.
⚠
Critical: Amazon FBA connector config. The sale_amazon SP-API connector must deduct stock from FBA-CA (#3) or FBA-US (#4), not from regional warehouses. If misconfigured, FBA inventory levels and channel COGS will silently drift from what Amazon actually holds.
Automatic order routing
How orders route to the right warehouse
Two mechanisms work together so stale defaults never silently misroute an order.
MECHANISM 1
Customer record default
Contacts → Customer → Sales & Purchase tab → Warehouse. Set once per customer: CA customers → Canada Warehouse; US customers → US Warehouse. Sales Order defaults automatically.
MECHANISM 2
Automation rule (safety net)
Settings → Technical → Automation Rules. Trigger: on sale.order creation. Condition: shipping country = CA → Canada Warehouse; country = US → US Warehouse. Checks actual delivery address at order time.
EXCLUDED
Manual-only warehouses
In-Transit (#5, #6), Trade Show (#7), and Repair Centre (#8) are excluded from auto-routing. They are set manually at PO receipt, show dates, or return receipt only.
Purchasing · landed costs · automatic COGS
From PO to accurate COGS — 10 steps
This workflow ensures every unit sold reflects its true landed cost (supplier price + freight + duties) with no manual journal entries at the COGS step.
1
Purchase Order placed with Overseas Supplier
USD invoice · Negotiated AP terms from bill of lading
+
Standard purchase order raised in MurrCloud. Overseas Supplier invoices in USD — no FX exposure on purchasing. AP terms are 180 days from bill of lading date at origin port. At this stage, no COGS or inventory valuation entry is posted — the stock does not yet exist in MurrCloud.
2
Goods received into In-Transit warehouse
Canada-bound → WH #5 · US-bound → WH #6 · Stock posts at PO price only
+
One PO per country — Canada-bound POs receive into WH #5; US-bound POs receive into WH #6. This keeps the two inventory streams cleanly separated from the moment goods are received.
📋
Journal entry on receipt: Dr 110200 Stock Input / Cr AP. Stock value = PO unit price × quantity. No freight or duty included yet.
3
Apply landed costs while stock is in In-Transit
Freight by weight · Duties by current cost · GL 145000 clearing · AVCO recalculates
+
STEP 3a
Create vendor bill
Raise a vendor bill for the freight forwarder or customs broker using the Freight–Import or Customs/Duties product. This will link to the Landed Cost record.
STEP 3b
Create Landed Cost record
Inventory → Operations → Landed Costs → New. Select the originating receipt(s). Add one line per cost type with invoice amounts.
STEP 3c
Compute and review
Click Compute. MurrCloud splits freight by weight; duties by current cost. Verify the allocation looks reasonable before validating.
STEP 3d
Validate
Journal entry: Dr 110100 Stock Valuation / Cr 145000 Landed Costs Clearing. AVCO unit cost recalculates immediately. Link vendor bill to the record.
4
Internal transfer to regional warehouses
WH #5 → Canada Warehouse · WH #6 → US Warehouse · No destination tagging needed
+
When the shipment arrives at destination, create the internal transfer. Because the destination was set at receipt, no manual tagging is required. The fully-landed AVCO cost (PO price + allocated freight + allocated duties) now sits in regional warehouses ready to be sold.
5
Sales order confirmed → delivery validated → COGS posts
Fully automatic · no manual journal entry required
+
⚡
Automatic COGS sequence: Sales Order confirmed → Delivery Order auto-created → Warehouse staff validate delivery → MurrCloud looks up AVCO unit cost × quantity → Posts Dr 500000 COGS / Cr 110100 Stock Valuation. No manual entry, no end-of-month accrual.
COGS timing is tied to physical shipment, not invoicing or payment. If 3PL integration is active, delivery validation can happen automatically when the 3PL confirms shipment.
Revenue classification
Six channels, fully automatic GL routing
Fiscal Position assigned once on each customer record remaps every invoice from the product default (400000) to the correct channel revenue account. No manual coding required per order.
Revenue routes automatically. COGS uses a single account (500000) with AVCO — same cost per unit regardless of channel. Channel costs are posted manually as vendor bills or credit notes to 510xxx accounts. Note: Amazon's 60% gross margin compresses significantly after referral fees.
OEM
Revenue
$120K
COGS
($60K)
Gross margin
$60K / 50%
Channel costs
—
$60K / 50%
DTC
Revenue
$85K
COGS
($34K)
Gross margin
$51K / 60%
Channel costs
($10K)
$41K / 48%
Amazon
Revenue
$210K
COGS
($84K)
Gross margin
$126K / 60%
Channel costs
($29K)
$97K / 46%
Retail
Revenue
$95K
COGS
($38K)
Gross margin
$57K / 60%
Channel costs
($8K)
$49K / 52%
Wholesale
Revenue
$190K
COGS
($76K)
Gross margin
$114K / 60%
Channel costs
($5K)
$109K / 57%
Cash
Revenue
$8K
COGS
($5K)
Gross margin
$3K / 38%
Channel costs
($2K)
$1K / 13%
Figures illustrative only. Actual numbers populate automatically from posted invoices once configuration is complete.
Foreign exchange management
USD base currency · CAD exposure only
overseas suppliers invoice in USD — no CNY exposure. The company's only FX task is managing net CAD exposure: CAD receivables from Canadian customers minus CAD payables (Payroll Provider (CA), freight, contractors). Only the net surplus requires hedging.
💡
Net exposure example: If Canadian customers pay CAD $150K/month and CAD payables (Payroll Provider (CA) + freight + contractors) total CAD $90K/month, only the net CAD $60K/month needs to be hedged — not the full $150K.
Provider comparison
Recommended: Ebury
Ebury is the only provider with a native MurrCloud integration. Spot conversions booked via MurrCloud automatically create the journal entry at the Ebury rate — no manual transcription.
✓ CNH & CNY available if overseas suppliers switch to CNY billing
✓ No setup fee · Backed by Santander
⚠ Ebury API credentials required from sales team before integration activates
Wise Business
0.4–0.6%
✓ Best spreads for spot conversions
✓ Self-serve, transparent pricing
✗ No forward contracts or hedging
✗ No MurrCloud integration
Complementary only — use for small spot conversions
Big 5 Banks
1.5–3.0%+
✓ Familiar counterparty
✓ Integrated with banking
✗ Most expensive option
✗ No MurrCloud integration
On $700K CAD/yr, a 1.5% spread gap vs Ebury = ~$10,500/yr extra cost
Implementation
Three-phase rollout
1
Phase 1 — Natural hedge (immediate, no cost)
Open CAD bank account · pay CAD bills from CAD receipts · convert only net surplus
+
Route all Canadian customer payments into a dedicated CAD bank account. Pay Payroll Provider (CA) payroll, Canadian contractor bills, and Canadian freight directly from this account. Convert only the net CAD surplus to USD monthly at spot. This alone significantly reduces transactional FX risk at zero cost.
2
Phase 2 — Forward contracts via Ebury (3–6 months)
Window Forwards for Retail/Auto receivables · hedge 50–70% of net CAD · 90-day horizon
+
Engage Ebury. Start with Window Forward contracts on Retail and Automotive channel CAD receivables (largest and most predictable). Target hedging 50–70% of forecasted net CAD receivables for the next 90 days. Leave 30–50% open to benefit if CAD strengthens.
📋
Activate MurrCloud ↔ Ebury Phase 1 integration (live CAD/USD rate fetch + automatic journal entries on spot conversions). Phase 2 (forward contract booking linked to CAD sales order batches) and Phase 3 (CAD vendor bill payment initiation) follow.
3
Phase 3 — Ongoing quarterly review
Limit orders · Flexible Forwards for Amazon.ca · quarterly hedge ratio review
+
Add Limit Orders for opportunistic conversions on the unhedged portion. Add Flexible Forwards for Amazon.ca bi-weekly settlements. Review hedge ratio quarterly. Compare effective FX rate achieved vs ECB average for the period. Revisit CNY only if a overseas supplier switches to CNY billing.
FX GL accounts
GL
Account
Purpose
710000
Foreign Exchange Gain
Auto-posted when CAD payments received/made at a more favourable rate than invoice date rate
720000
Foreign Exchange Loss
Auto-posted when CAD payments received/made at a less favourable rate than invoice date rate
730000
FX Hedging Costs
Option premiums and forward cancellation fees — kept separate from 720000 so hedging programme cost is visible
145000
Landed Costs Clearing
Interim account for freight/duty allocation — CAD landed cost bills converted at ECB rate on bill date before allocation
Recurring procedures
Monthly operations checklist
Compiled from all four workflow documents. Check off items as completed. Progress resets on page reload — transfer completed items to the master task tracker.
0 of 17 complete
Procurement & inventory
When a Overseas Supplier shipment departs, receive goods into the correct In-Transit warehouse at the time of receipt — not at transfer time. Canada-bound → WH #5; US-bound → WH #6.
On receipt
When a freight forwarder or customs broker invoice arrives, identify every PO/receipt number it relates to before processing anything.
Monthly
Create a Landed Cost record, select the relevant receipts, add one line per cost type (Freight–Import by weight; Customs/Duties by current cost). Compute, review allocation, and validate. Link the vendor bill.
Monthly
If a freight/duty bill arrives after some affected stock has already sold, confirm the resulting COGS variance posting with the accountant — it is expected behavior, not an error.
Monthly
After a trade show: create internal transfer of unsold units from WH #7 back to regional warehouses so stock re-enters normal sellable inventory.
Post-show
Customer returns: route directly to Repair Centre (WH #8). Add repair cost to AVCO before internal transfer back to regional warehouses. Scrap unrepairable units via Inventory → Operations → Scrap.
As needed
FX & multi-currency
Confirm currency on each new invoice and vendor bill matches the customer/vendor country. Canadian customers and vendors default to CAD from their contact record — review any exceptions.
On creation
Use MurrCloud ↔ Ebury integration (Phase 1) to execute spot conversions — journal entry is created automatically at the Ebury rate. No manual rate transcription.
On conversion
Calculate net CAD position: total CAD receivables expected in next 30–90 days minus CAD payables (Payroll Provider (CA), contractors, freight). Book Window Forward contracts with Ebury for 50–70% of net receivables.
Monthly
Import Payroll Provider (CA) (Canadian) payroll journal entry in CAD. Reconcile against CAD bank payment. Ensure journal entry date matches Payroll Provider (CA) pay date to minimise timing FX differences.
Each pay period
Month-end: run Accounting → Accounting → Actions → Unrealised Currency Gains/Losses to revalue all open CAD balances (AR, AP, CAD bank account) at closing rate.
Month-end
Review GL 710000 FX Gain and GL 720000 FX Loss balances. Large unexpected amounts may indicate a payment recorded in the wrong currency — investigate before closing.
Month-end
Channel costs & contribution margin
Process Amazon settlement report: create vendor bill from Amazon for referral fees and FBA fees → post to GL 510300.
Monthly
Process Shopify payout report: create vendor bill for Shopify transaction fees → post to GL 510200.
Monthly
Post any retailer rebates or EDI chargebacks received during the period as credit notes on the customer, coded to GL 510400.
Monthly
Run the custom contribution margin P&L report (Accounting → Configuration → Financial Reports) and review channel-level gross margin vs contribution margin. Flag any channel where margin has moved more than 5 points month-over-month.
Month-end
Confirm that Amazon FBA order sync (sale_amazon) is deducting stock from WH #3 (FBA-CA) and WH #4 (FBA-US) — not from regional warehouses. Check for any inventory drift vs Amazon Seller Central.
Monthly
MurrCloud automation
Nine automation use cases
Each automation below eliminates a manual step that would otherwise require human intervention on every order, shipment, or month-end. Together they reduce routine processing time and prevent the most common accounting errors.
USE CASE 01
Automatic COGS on delivery
Delivery validation automatically posts Dr 500000 COGS / Cr 110100 Stock Valuation at the AVCO unit cost × quantity shipped. Zero manual journal entries for COGS, ever.
Trigger: Warehouse staff validate delivery order
USE CASE 02
Channel revenue routing via Fiscal Position
Fiscal Position on the customer record remaps every invoice from GL 400000 to the correct channel GL (400100–400600) automatically. No manual coding per order.
Trigger: Invoice created for any customer
USE CASE 03
Warehouse auto-routing by customer country
Automation rule checks shipping country on Sales Order creation. CA → Canada Warehouse; US → US Warehouse. Overrides stale customer defaults to prevent silent misrouting.
Trigger: sale.order created with a delivery address
USE CASE 04
AVCO recalculation on landed cost validation
When a Landed Cost record is validated, MurrCloud recalculates AVCO unit cost for all affected products immediately. Future COGS posts reflect the fully-landed cost.
Trigger: Landed Cost record validated
USE CASE 05
FX gain/loss auto-posting
When a CAD invoice or bill is paid, MurrCloud calculates the rate difference between invoice date and payment date and automatically posts to GL 710000 or 720000.
Trigger: CAD payment recorded against a CAD invoice or bill
USE CASE 06
Ebury rate fetch & journal entry
Phase 1 of MurrCloud ↔ Ebury integration: live CAD/USD rate pulled from Ebury. Spot conversions initiated from MurrCloud auto-create the journal entry at the Ebury rate — not the ECB rate.
Trigger: Spot FX conversion initiated in MurrCloud
USE CASE 07
Amazon order sync (sale_amazon)
sale_amazon SP-API connector pulls Amazon orders and deducts stock from FBA-CA (#3) or FBA-US (#4). Amazon.ca orders must be created in CAD with the Channel–Marketplace fiscal position.
Trigger: Amazon order received via SP-API connector
USE CASE 08
Month-end unrealised FX revaluation
Single action (Accounting → Actions → Unrealised Currency Gains/Losses) revalues all open CAD AR, AP, and bank balances at closing rate. Reverses automatically at the start of the next period.
Trigger: Month-end run by accounting team
USE CASE 09
3PL delivery auto-validation (future)
When 3PL integration is active, shipment confirmation from the 3PL will auto-validate the MurrCloud delivery order, triggering the automatic COGS post without warehouse staff action.