cifraHQ Enterprise
P4 Warehouse integration

A boundary, not an integrator.

cifraHQ owns the financial 'what'. P4W owns the physical 'where'. The contract between them is frozen and round-trip verified — it is not an integration project, it is the product.

The boundary

Who owns what

  • cifraHQ owns the "what". SKUs as entities (Product with discriminator), unit cost and perpetual valuation, purchase orders (PurchaseOrder), receipt as document (GoodsReceiptNote), GRNI accrual, accounts payable, accounting adjustment documents.
  • P4W owns the "where". Bins, zones, physical locations inside the warehouse, picks, packs, bin-to-bin movements, FIFO/FEFO per pick, handheld scan, labeling. Everything that happens below the Warehouse level.
  • No sub-warehouses in cifraHQ. Permanent. The only level is Warehouse — below the warehouse is P4W territory. Prevents both products from trying to be the bin authority.
  • No product variants in cifraHQ. Permanent. Every attribute combination is its own SKU. The variant model conflicts directly with how P4W physically models stock — excluded by design.
  • No hard kits in cifraHQ. Permanent. Only soft bundles (exploded at the invoice). Live physical kits belong on the shop floor — that is P4W.
The contract

What crosses the boundary

Outbound

cifraHQ → P4W

SKU catalog, receipts to post, sales orders to pick, approved transfers. cifraHQ creates the work obligation; P4W executes it.

Inbound

P4W → cifraHQ

Pick completion confirmations, available-quantity updates, physical adjustments with reason (damage, count difference), receipt completions with lot/serial resolved.

Reconciliation

Round-trip verified

Phase 1c includes WMS sync round-trip verification at 5,000-tenant scale. Does not ship until reconciliation is clean.

Flows that cross

The five happy paths

  1. Purchase and receipt. PO posted in cifraHQ; expected receipt dispatched to P4W. P4W confirms physical receipt with lot/serial. cifraHQ generates GoodsReceiptNote, accrues GRNI, waits for the vendor bill.
  2. Sale and pick. Approved SO in cifraHQ; pick instruction to P4W. P4W executes physical pick, confirms quantity and lot. cifraHQ generates DeliveryNote, invoice, posts AR and updates inventory.
  3. Transfer between warehouses. WarehouseTransfer posted in cifraHQ as Shipment; P4W executes physical shipment. Receipt arrives when P4W confirms delivery to destination — in-transit window visible.
  4. Physical count. cifraHQ prepares the count list; P4W executes the physical count with handheld. Variance returns to cifraHQ, generates auto-adjustment with reason.
  5. Assembly (production). Assembly order release in cifraHQ; P4W reserves components in bins, executes physical assembly, confirms finish. cifraHQ posts planned-vs-actual variance and updates finished-goods cost.
Tenants without P4W

The product works without this integration

Not every customer needs P4 Warehouse. For mid-market distributors with one warehouse and simple flow, cifraHQ operates standalone on its own inventory model — adjustments, transfers, counts and production run fully in cifraHQ.

  • Same model, no bins. InboundAdjustment, OutboundAdjustment, WarehouseTransfer and PhysicalCount exist and work — without bin detail.
  • Clean upgrade path. Activating P4W on a standalone tenant does not require data migration — the sync contract pauses local movements and authority of the where transfers to P4W.
  • No penalty. The decision to use P4W is operational, not licensing. The product is complete in both modes.
Sync mechanics

The technical contract

  • Contract frozen in Phase 1a. The P4W contract freezes as first module deliverable — contract ambiguity cascades into delays across all other modules. Zero contract changes after Phase 1a.
  • Async messaging with retry. Hangfire jobs dispatch messages to the P4W endpoint; retry policy with exponential backoff. Hard failure only after retries exhausted — and in that case, dashboard alerts.
  • Idempotent on both sides. Every message carries a unique identifier; re-applying the same message produces no duplicate effect. Enables replay without corruption.
  • Daily reconciliation. A nightly Hangfire job compares inventory balances cifraHQ vs. P4W per SKU and warehouse. Discrepancies land on a dedicated dashboard with drill-down to the responsible message. (Payload format and specific endpoints: see integration guide.)
The contrast

What this looks like without the boundary

cifraHQ + P4W ERP with its own WMS
Bin authority
P4W explicit
ERP attempts, poorly
Sync contract
Frozen, round-trip verified
Ad-hoc, drift-prone
Physical pick
P4W handheld, fast
ERP UI, slow
Accounting valuation
Always in cifraHQ
Disputed between modules
Reconciliation
Daily job with alerts
Year-end project

cifraHQ + P4W boundary demo

If you already run P4W or are evaluating it, we walk the full contract in a 60-minute technical session.

Schedule demo