Order Sync

Updated March 25, 2026

Overview

Order synchronization is one of the most common and critical flows in a Junipeer integration. It moves order data from your e-commerce platform to your ERP system, where it can be invoiced, fulfilled, and reconciled against payments.

This guide explains how orders flow through Junipeer, what happens at each stage, and how related data types — invoices, refunds, and payouts — connect to form a complete order lifecycle.

How orders flow from e-commerce to ERP

When a customer places an order in your webshop, the following sequence occurs:

1. Order is created in the e-commerce platform The customer completes checkout. The order contains line items, shipping information, customer details, and payment status.

2. Junipeer picks up the order Based on your scheduling rules or webhook events, Junipeer fetches new or modified orders from the e-commerce platform. Only orders created or updated after the Time History "last loaded" date are fetched.

3. Junipeer maps the order to the ERP format Using your Configure > Settings, Junipeer transforms the order data to match the target system's requirements. This includes mapping shipping methods, payment methods, customer data, and order line items.

4. The order is created in the ERP Junipeer creates the order (or invoice, depending on the ERP's workflow) in your accounting system. A reference is created linking the e-commerce order ID to the ERP order/invoice ID.

5. Subsequent updates are synced If the order is updated in the source platform (e.g., a line item is changed or a note is added), Junipeer can update the corresponding record in the ERP — as long as the record has not been locked or booked.

Invoices

In many ERP systems, an order becomes an invoice as part of the billing workflow. How this works depends on the connector pair, but the general pattern is:

  • Junipeer creates an order in the ERP based on the e-commerce order

  • The ERP converts (or Junipeer directly creates) an invoice from that order

  • The invoice is booked, which means it becomes part of the accounting ledger

Once an invoice is booked, it is typically immutable — it cannot be edited or deleted. If a correction is needed, a credit note must be issued instead. This is a standard accounting principle, not a Junipeer limitation.

The invoice settings in Configure > Settings control behavior such as payment terms, automatic booking, and how invoice numbers are generated.

Refunds and credit notes

When a customer receives a refund in the e-commerce platform, Junipeer can create a corresponding credit note in the ERP:

1. Refund is issued in the e-commerce platform A store administrator processes a full or partial refund for an order.

2. Junipeer detects the refund The refund is picked up during the next scheduled sync or via a webhook event.

3. A credit note is created in the ERP Junipeer creates a credit note linked to the original invoice. The credit note reverses the appropriate amount in the accounting system.

Partial refunds create credit notes for only the refunded amount. The original invoice remains unchanged.

Payouts and payment reconciliation

Payouts close the loop between what customers pay and what appears in your accounting system. This flow involves your payment provider (e.g., a card processor or payment service):

1. The payment provider settles transactions Periodically (usually daily), your payment provider groups completed transactions into a payout and transfers the net amount to your bank account.

2. Junipeer receives the payout report Via a webhook or scheduled fetch, Junipeer retrieves the payout details — which transactions are included, the gross amounts, fees, and net settlement.

3. Junipeer matches transactions to invoices Each transaction in the payout is matched to the corresponding invoice in your ERP using the reference numbers created during order sync.

4. Invoices are marked as paid Matched invoices are updated to "paid" status in the ERP, with the payment date and amount recorded.

5. Fees are written off Payment provider fees (processing fees, transaction fees) are booked to a designated fee account in the ERP. This keeps your revenue accounts clean and your fee costs tracked separately.

This payout reconciliation process eliminates the need to manually match bank deposits to individual invoices — which for high-volume stores can save significant time.

Order data mapping

During sync, Junipeer maps the following types of data from the e-commerce order to the ERP:

Order header — order number, order date, currency, customer reference, and any custom fields configured in your settings.

Line items — product SKU, quantity, unit price, discount, and VAT rate. Each line item is mapped using your article/product settings.

Shipping — shipping method name and cost. Mapped via the Shipping Methods settings to the corresponding method or account in the ERP.

Payment information — payment method, payment status, and amount. Mapped via the Payment Methods settings.

Customer data — billing and shipping addresses, contact details. Mapped via the Customer settings, which can also control whether new customers are created in the ERP or matched to existing records.

Excluding old orders

If your e-commerce platform has years of historical orders, you probably do not want to sync all of them. Two mechanisms help with this:

Order exclusion date — set in Configure > Settings > Order Settings, this is a permanent filter. Orders created before this date are never synced, regardless of other settings.

Time History — the Time History page controls the starting point of each sync. By default, it moves forward automatically. You can move it backward to re-process a specific date range, but it does not override the exclusion date.

Use the order exclusion date for a clean cutoff (e.g., "only sync orders from 2026 onward") and Time History for temporary re-processing after fixing a configuration issue.

Monitoring orders

After your order flow is live, use these pages to monitor its health:

  • [Dashboard](/app-dashboard) — check the completed vs. stopped task ratio for a quick overview

  • [Tasks](/app-tasks) — see individual sync operations and their outcomes

  • [Logs](/app-logs) — investigate specific errors or warnings, filter by reference number to find a particular order

  • [Entities](/app-entities) — browse synced order records, inspect the raw data, and check sync timestamps

  • [References](/app-references) — look up which ERP record corresponds to a specific e-commerce order

Tips

  • Start with a single test order before enabling scheduling. Use Export One from the Flows page to sync one order and verify the result in your ERP.

  • If orders are being duplicated in the ERP, check the References page — a missing reference means Junipeer does not know the order was already synced.

  • Occasional sync failures for individual orders are normal (e.g., a missing product mapping or a temporary API timeout). Check Logs for the specific error.

  • For high-volume stores, consider using webhooks for orders (near real-time sync) with scheduling as a safety net to catch anything webhooks might miss.

  • If you change order settings after going live, consider whether existing synced orders need to be re-processed. Changing a mapping does not retroactively update previously synced records.

Was this article helpful?