Requirements
- A web-to-print store with Printcart connected (WooCommerce, Shopify, Wix or a custom storefront)
- An MIS, ERP or accounting system that can import or receive data
- A developer, or the Printcart integration service, to build the connection on the Printcart API
Key takeaways
- Give every field one owner: the store owns orders, designs and files, the MIS owns production data, the ERP owns invoices and payments.
- Printcart syncs orders natively with WooCommerce, Shopify and Wix; an MIS, ERP or accounting connection is built for each customer on the API and webhooks.
- Printcart webhooks fire on topics such as projects (orders), designs and products, signed with HMAC-SHA256 so the receiver can verify them.
- A failed webhook is retried up to three times and there is no replay, so every integration needs a reconciliation job that lists orders through the API.
- Status should flow back from the MIS to the store, so customers and customer service see production progress without asking.
On this page
A web-to-print store takes the order; an MIS prints it; an ERP bills it. Between the three, the same order is often typed in twice or three times, and every copy is a chance for a wrong quantity or a lost file. This article shows which data belongs to which system and how it moves, as part of the print API integration guide, which explains when an app is enough and when to integrate.
Which system owns which data?
Each system should own the data it creates. The web-to-print store owns the order, the product options, the customer's design and the print-ready file. The MIS owns the job ticket, the production schedule and job costing. The ERP owns the invoice, the payment, the customer account and stock. A field with two owners ends up with two values, and nobody knows which one is right.
A print MIS, or management information system, runs the production side of a print business: estimates, job tickets, scheduling, materials and job costs. An ERP, enterprise resource planning software, runs the business as a whole: finance, invoicing, purchasing and inventory. Small print shops often have one tool doing both; larger ones keep them apart.

Embed this graphic
Copy this HTML to show the graphic on your site with a link to the source.
<a href="https://solution.printcart.com/insight/web-to-print-and-mis-erp-data-flows"><img src="https://solution.printcart.com/insight/web-to-print-and-mis-erp-data-flows/field-ownership-matrix.webp" alt="Matrix of six data items against store, MIS and ERP, showing which system owns each one" width="1440" height="1080"></a><br>Source: <a href="https://solution.printcart.com/insight/web-to-print-and-mis-erp-data-flows">Printcart</a>| Data | Created in | Sent to | Direction | Printcart side |
|---|---|---|---|---|
| Order lines, options, quantity | Store | MIS, ERP | One way | Order (projects topic) |
| Design and print-ready file | Store | MIS or production flow | One way | Design and print-ready PDF |
| Job ticket and schedule | MIS | — | Stays in the MIS | — |
| Production status | MIS | Store | Back to the store | Order status, written through the API |
| Invoice and payment state | ERP | Store, for account clients | Back, where needed | Custom field or note on the order |
| Customer account and credit | ERP | Store | Back to the store | Customer record in the store platform |
How does an order move from the store to the MIS and the ERP?
An order moves from the store to the MIS and the ERP through events. When the order is created or changed, the store sends a webhook; an integration receives it, verifies it, maps the fields and creates the job in the MIS and the order or invoice in the ERP. Production status then flows back to the store, so the customer sees it.

Embed this graphic
Copy this HTML to show the graphic on your site with a link to the source.
<a href="https://solution.printcart.com/insight/web-to-print-and-mis-erp-data-flows"><img src="https://solution.printcart.com/insight/web-to-print-and-mis-erp-data-flows/order-to-erp-flow.webp" alt="Six steps: order in the store, Printcart webhook, integration verifies and maps, MIS job, status back, ERP invoice" width="1440" height="1080"></a><br>Source: <a href="https://solution.printcart.com/insight/web-to-print-and-mis-erp-data-flows">Printcart</a>Printcart webhooks follow fixed rules, all from the Printcart developer documentation:
- One subscription covers one topic and one event. Topics are products, sides, designs, templates, projects (orders) and user; events are POST, PUT and DELETE and their batch versions.
- The body is the resource as the API returned it, wrapped in a data object; batch events carry a list.
- Every delivery has a Signature header: an HMAC-SHA256 of the raw body, keyed with the store's sid and secret, which the receiver must check before trusting the request.
- A failed delivery is retried up to three times with exponential backoff, and each attempt times out after three seconds, so the receiver should answer fast and do the work afterwards.
Because there is no delivery log and no replay endpoint, an integration should not rely on webhooks alone. A scheduled job that lists recent orders through the Printcart API and compares them with the MIS catches anything a missed delivery left behind.
What changes when the MIS expects job tickets in a standard format?
When the MIS expects job tickets in a standard format, the integration has to build them from the order. JDF, the Job Definition Format maintained by the CIP4 organisation, is an XML format for describing print jobs between systems. An MIS that reads JDF or its own import format needs the order's options, quantities and file link translated into that format, field by field.
That translation is where most of the scoping time goes. Product options in a store are written for buyers ("Matte, 350 gsm, 500 cards"); an MIS needs its own stock codes, press and finishing steps. A mapping table, kept with the integration and updated when products change, avoids silent errors. The more products share the same options, the smaller that table gets.
How do you scope a store to MIS or ERP connection?
You scope a store to MIS or ERP connection by writing down, before any code, what each system owns, which events start a sync, how each field maps, which way it flows and how missed events are repaired. The six steps below turn those decisions into a written scope that a developer, the Printcart team or your own, can build and test.
Step by step
Step 1: List what each system owns
Write down, field by field, which system creates and keeps each piece of data: order lines, artwork, job ticket, price, invoice, payment, status.
Step 2: Choose the events that start a sync
Pick the Printcart webhook topic and event that should create or update a record on the other side, for example an order update on the projects topic.
Step 3: Map the fields
Map each store field to the MIS or ERP field it fills, including product options, quantities, the print-ready file link and the customer reference.
Step 4: Decide the direction and who wins
For every field, decide whether it flows one way or both ways, and which system wins when the two disagree.
Step 5: Plan reconciliation
Schedule a job that lists recent orders through the Printcart API and fixes anything a missed webhook left behind.
Step 6: Test on a production test store
Printcart sends webhooks from production only, so test the receiver against a production test store before real orders arrive.
| If your print business | Export and re-key | One-way: store to MIS or ERP | Two-way with status back | Why |
|---|---|---|---|---|
| Takes a few web orders a day next to walk-in and email work | FitsEnough at this volume | Saves re-keying | More than you need yet | The cost of the connection is larger than the time saved. |
| Re-keys every web order into its MIS to create a job ticket | Errors in options and quantities | FitsJob tickets created from the order | Useful once customers ask for status | The order is the one source of the job ticket. |
| Has customers who follow production status online | Status updated by hand | Store does not see production | FitsMIS status shown in the store | Customers stop asking customer service where the job is. |
| Invoices business clients from an ERP on account | Invoices typed from orders | Order and customer sent to the ERP | FitsCredit and payment state back to the store | Finance and the store agree on what is owed. |
Where does Printcart fit in this flow?
Printcart fits as the order and file source. It syncs orders and products natively with WooCommerce, Shopify and Wix, generates a print-ready file for every order, and exposes orders, designs and status changes through its REST API and webhooks. Connections to an MIS, ERP or accounting system have no packaged connector: they are built for each customer on that API.
In a Printcart full store, webhooks come with every package (3 on Store, 20 on Store B2B and Store Marketplace, no limit on Enterprise), API keys with an origin allowlist start at Store B2B, and the ERP or MIS connection with per-customer B2B portals is part of Enterprise. The B2B print store, in build, is the store edition for business clients who order on account.
When the connection is built by the Printcart team, it is a quoted project. MIS and production workflow integration delivers jobs and print-ready files to your MIS with status back to the store; ERP and accounting integration syncs orders and customers with your finance system; both start with discovery of your systems. The integration services page lists the rest. Status that reaches the store also helps the team that answers customers, as customer service for print orders explains, and proof decisions are covered in the proof approval workflow.
Frequently asked questions
What is the difference between a print MIS and an ERP?
A print MIS, or management information system, runs the print production side: estimating, job tickets, scheduling and job costing. An ERP runs the whole business: finance, invoicing, purchasing and stock. Many print businesses have both, and a web-to-print store has to feed each with different data.
Does Printcart have a ready-made connector for my MIS or ERP?
No. Printcart syncs orders and products natively with WooCommerce, Shopify and Wix, and connections to MIS, ERP and accounting systems are built for each customer on the Printcart REST API and webhooks. Printcart does not list third-party MIS or ERP products, because the connection is built rather than installed.
What happens if my server is down when a Printcart webhook fires?
Printcart retries a failed delivery up to three times with exponential backoff, and each attempt times out after three seconds. There is no delivery log and no replay endpoint, so a receiver that was down must reconcile by listing the affected orders through the Printcart API.
Which Printcart package do I need for an ERP or MIS connection?
Webhooks come with every Printcart full-store package: 3 on Store, 20 on Store B2B and Store Marketplace, no limit on Enterprise. API keys start at Store B2B. The ERP or MIS connection with per-customer B2B portals, and custom integration support, are part of Enterprise.
Should the price be calculated in the store or in the MIS?
For products sold online at a listed price, the store calculates the price from its options and the MIS receives it with the order. For quoted work, the MIS or the estimator often owns the price and the store shows the quote. Decide one owner per product type so the two never disagree.
Sources
- Store, MIS and ERP integrations (Printcart Connect), checked
- Webhooks: topics, signature and delivery (Printcart docs), checked
- Printcart developer documentation, checked
- Cloud API for the Designer (Printcart Connect), checked
- Enterprise resource planning (Wikipedia), checked
- Job Definition Format (Wikipedia), checked
About the author
Huy Nguyen (David)
Founder & CEO, Printcart
Huy Nguyen (David) is the Founder and CEO of Printcart. Questions about this article go straight to him and the Printcart team.
LinkedInBuild it with the Printcart team
- ServiceMIS and Production Workflow Integration
- ServiceERP and Accounting Integration
- ServicePrintcart API and Order Automation Integration
- Full storeWordPress print shop store
- Full storeB2B print store
Tell us what you want to sell. Huy Nguyen (David), our CEO, and the sales team reply with a written scope and quote.





