Orders out on approval. Invoices back by reference.
One approved order in FilFlo becomes a clean sales order in Dynamics 365 — and the invoice Dynamics 365 raises comes back to power what happens next.
Order approved in FilFlo
A quick-commerce or B2B purchase order is captured, cut at SKU level where needed, and approved — the commercial commitment is settled before ERP hears about it.
Item codes substituted per site
FilFlo swaps in the Dynamics 365 item codes for the fulfilling site, so each distribution centre (CFA) receives its own item codes — no shared master-data compromise.
Sales order created over OData
On approval, the sales-order header and lines are pushed to Dynamics 365 Finance & Operations through its OData API.
Holds surface as exceptions
If Dynamics 365 responds with a credit-limit hold, the order appears as an actionable order-confirmation exception in FilFlo instead of failing silently.
FilFlo polls D365 sales invoices
Once Dynamics 365 invoices the pushed order, FilFlo picks up the sales invoice by reference.
Invoice joins the order trail
The invoice reference is attached to the same order timeline as the PO, the approval, and the fulfillment events.
Downstream documents unlock
Invoice data read back from Dynamics 365 powers downstream submissions — for example ASN filing to Zepto, which reconciles ASN against PO line by line.
ERP credit holds become operational signals.
When Dynamics 365 places a credit-limit hold on a pushed order, FilFlo doesn't swallow the error. The hold surfaces as an actionable order-confirmation exception in the queue — the team sees which order is held and why, and can resolve it with finance before the delivery appointment is at risk. ERP controls stay in charge; FilFlo makes them visible where the order is being worked.
What crosses the wire.
Created in Dynamics 365 Finance & Operations when the order is approved in FilFlo — header and line level.
Dynamics 365 sales invoices are polled and attached to the FilFlo order trail, where they feed downstream ASN submission.
FilFlo buyer entities are mapped to Dynamics 365 customer accounts, so every order posts against the right account.
Per-site (per-CFA) item-code mapping decides which Dynamics 365 item codes each order carries.
Orders are pushed against the correct Dynamics 365 site and warehouse for the fulfilling location.
What the integration enforces — and what it expects.
ERP stays the system of record
Accounting truth lives in Dynamics 365. FilFlo captures and resolves the commercial events that need to be clean before they reach ERP — it never writes around ERP controls.
Credit limits are enforced, not bypassed
A Dynamics 365 credit-limit hold blocks order confirmation until it is resolved. FilFlo surfaces the hold where the order is being worked; finance decides.
Environment separation
The integration is deployed per environment — sandbox, UAT and production connections are configured and validated separately, mirroring how Dynamics 365 landscapes are managed.
Per-environment rollout
Each Dynamics 365 environment is its own deployment step. Plan the sandbox → UAT → production sequence as part of onboarding rather than a single switch-on.
Master data lives in Dynamics 365
Customers, items, sites and credit settings are referenced by FilFlo, not managed by it. Keeping them current on the Dynamics 365 side remains the customer's responsibility.
Frequently asked questions.
Is this a file export or a real API integration?
A native API integration. FilFlo creates sales-order headers and lines in Dynamics 365 Finance & Operations over its OData API and polls sales invoices back the same way — bidirectional, and running in production at an enterprise CPG deployment. FilFlo also offers file-based ERP workflows (for example Tally and Zoho Books export formats), but Dynamics 365 is a live API connection, not a file drop.
What happens when Dynamics 365 places a credit hold on an order?
The hold is treated as a signal, not a silent failure. When Dynamics 365 blocks a pushed order on a credit limit, FilFlo surfaces it as an actionable order-confirmation exception — the team sees which order is held and why, and can resolve it with finance before the delivery appointment is at risk. ERP credit controls stay in charge; FilFlo makes them visible where the order is being worked.
Does FilFlo replace Dynamics 365?
No. ERP remains the accounting system of record. FilFlo captures and resolves the commercial events — PO intake, SKU-level approvals, fulfillment, GST invoicing, GRNs — that need to be clean before they reach ERP, then pushes approved orders into Dynamics 365 and reads invoices back.
How is the integration deployed across environments?
Per environment. Sandbox, UAT and production connections are configured and validated separately, which mirrors how Dynamics 365 landscapes are managed. Master data on the Dynamics 365 side — customer accounts, item codes, sites and credit settings — remains the customer's responsibility to keep current, since FilFlo references those records when pushing orders.
Watch an approved order land in Dynamics 365.
Book a 30-minute demo and see the full loop: PO in, SKU-level approval, sales order pushed over OData with per-site item codes, and the Dynamics 365 invoice reading back into the order trail.