# Shopify weclapp integration

*Shopify → weclapp*

**In short:** A Shopify to weclapp integration keeps your storefront and your ERP in step: each Shopify order becomes a weclapp sales order against the right customer and articles, weclapp stock levels flow back to Shopify inventory so you stop overselling, and shipment tracking from weclapp lands back on the Shopify order. Done properly it is not a nightly CSV round-trip - it is a continuous, idempotent pipeline that matches SKUs to article numbers, dedupes customers, respects net-versus-gross tax, and never books the same order twice.

## What a Shopify to weclapp integration actually does

Shopify is where the sale happens. weclapp is where the business runs it: the customer record, the sales order, the stock reservation, the picking list, the outgoing delivery, the invoice. Between the two sits a gap that most shops fill with a spreadsheet and a person - re-keying orders into the ERP each morning, and manually correcting stock on the storefront each evening.

A Shopify to weclapp integration closes that gap. Every paid Shopify order becomes a weclapp sales order against the correct customer and articles, with the right prices, taxes, and shipping. weclapp stock levels flow back to Shopify so the storefront never sells an article that is already gone. And once weclapp ships, the tracking number returns to the Shopify order so the customer gets a fulfilment email without anyone touching either system.

## What data moves

| Shopify object / event | weclapp record | Notes |
| --- | --- | --- |
| Paid order | Sales order | Header plus line items, matched to existing customer and articles |
| Customer | Party / customer | Deduped by email; new buyers created, existing ones reused |
| Order line item (variant SKU) | Sales order position (article) | Shopify SKU matched to weclapp article number |
| Discounts & shipping | Order positions / charges | Mapped to the right net amounts and tax rates |
| Article stock (weclapp) | Shopify inventory level | Reverse direction: available quantity published per variant |
| Article & price (weclapp) | Shopify product / variant | Optional, where weclapp is the product source of truth |
| Shipment / delivery (weclapp) | Shopify fulfilment + tracking | Tracking number and carrier written back to the order |

The exact field mappings, the direction of each object, and the safety buffers are agreed once during scoping and encoded in the pipeline. After that, nobody copies a row by hand.

## The details that break naive syncs

A nightly export or a generic connector gets you the happy path and leaves the expensive edge cases on your desk:

- **SKU to article-number matching.** The whole sync hinges on the Shopify variant SKU lining up with the weclapp article number. Catalogues that grew organically have typos, renamed variants, and bundles that map to several articles. A naive sync creates a phantom article or drops the line; a real pipeline flags the mismatch before the order fails.
- **Customer dedup.** The same buyer checks out as a guest twice with slightly different casing on their email. Match on the wrong key and weclapp fills with duplicate parties; match too loosely and you merge two real customers. The dedup rule has to be deliberate.
- **Net versus gross and tax.** Shopify commonly stores tax-inclusive gross prices for EU consumers; weclapp calculates in net with its own tax codes. The line totals, discount, and shipping all have to reconcile so the weclapp order equals the Shopify order exactly - rounding included.
- **Inventory timing and overselling.** Stock changes on both sides constantly. Publish weclapp availability too slowly and Shopify oversells; publish raw warehouse numbers and you promise stock reserved for other channels. Multi-warehouse aggregation and a safety buffer are not optional at volume.
- **Rate limits.** Shopify meters its Admin API and weclapp meters its REST API. A full catalogue push or a sales spike will hit those ceilings, so the pipeline has to back off, queue, and retry rather than drop writes.
- **Partial fulfilment and cancellations.** Split shipments, backorders, and cancelled Shopify orders each have to move the weclapp sales order to the right state, not just fire once and forget.

## How we build and run it

We treat this as a pipeline, not a batch job. Shopify order and customer events arrive by webhook (with scheduled reconciliation as a backstop), get validated, matched against weclapp customers and articles, and written as weclapp sales orders through the weclapp REST API. Stock and shipment data flow back on their own cadence.

The pipeline is idempotent: every Shopify order carries a stable identifier, so a webhook retry or a replay never creates a duplicate sales order in weclapp. It runs on cloud-native, fully EU-hosted AWS infrastructure, so order and customer data never leaves the EU - which keeps your DPA / AVV and GDPR obligations clean.

And then we keep it running. Monitoring, alerting, incident response, and - critically - watching for Shopify and weclapp API changes are our responsibility under contract. Your operations team stops starting the day by checking whether last night's sync actually worked.

## When this integration is worth building

If you process a few orders a day and re-key them into weclapp over a coffee, a manual workflow is genuinely fine and we will tell you so. The integration earns its place when order volume makes re-keying a job in itself, when overselling starts costing you refunds and support tickets, when you run several warehouses or sell the same stock across more than one channel, or when month-end reveals that the storefront and the ERP quietly disagreed all along. At that point a managed pipeline is cheaper than the person and the mistakes it replaces.

## Frequently asked questions

### Does the Shopify weclapp integration sync inventory in both directions?

Stock is authoritative in weclapp, so inventory flows weclapp to Shopify: available quantity per article is pushed to the matching Shopify variant so the storefront stops selling what you cannot ship. Orders and customers flow the other way, Shopify to weclapp. We can also push article master data and prices from weclapp to Shopify where weclapp is your product source of truth. The exact directions are decided per object during scoping, not left ambiguous.

### How are Shopify SKUs matched to weclapp articles?

The Shopify variant SKU is matched to the weclapp article number. Where those already agree the mapping is clean; where a catalogue has grown organically we build a reconciliation step that flags unmatched SKUs before an order can fail silently. Nothing is created blindly in weclapp on a typo - unmatched items are surfaced, not guessed.

### What happens to a Shopify order that includes tax or a discount?

Shopify usually stores gross, tax-inclusive prices for EU B2C, while weclapp works in net with its own tax rules. We map each line to the correct weclapp tax rate and reconcile the net, tax, and gross totals so the sales order in weclapp matches the Shopify order to the cent, including discounts and shipping. Rounding is handled explicitly rather than left to drift.

### Can it handle multiple weclapp warehouses and a single Shopify location?

Yes. weclapp can hold stock across several warehouses while Shopify sees one sellable pool. We aggregate the relevant warehouse quantities (minus any safety buffer you set) into the number Shopify publishes, so multi-warehouse reality is presented to the storefront as one honest availability figure.

### Who operates the integration after go-live?

We do. The pipeline runs on cloud-native, fully EU-hosted infrastructure that we monitor. If Shopify or weclapp changes an API, that is our problem to fix under contract, not a surprise your operations team discovers when orders stop syncing. You get a named owner, alerting, incident response, and an SLA rather than a script somebody has to remember to babysit.

## Related integrations

- [Shopify ↔ Business Central](https://seamless.engineering/integrations/shopify-business-central/): Shopify Business Central integration
- [Shopify ↔ NetSuite](https://seamless.engineering/integrations/shopify-netsuite/): Shopify NetSuite integration
- [Shopify ↔ SAP Business One](https://seamless.engineering/integrations/shopify-sap-business-one/): Shopify SAP Business One integration
- [Shopify ↔ DATEV](https://seamless.engineering/integrations/shopify-datev/): Shopify DATEV integration
- [Shopify ↔ lexoffice](https://seamless.engineering/integrations/shopify-lexoffice/): Shopify lexoffice integration
- [Shopify ↔ sevDesk](https://seamless.engineering/integrations/shopify-sevdesk/): Shopify sevDesk integration

## Browse by system

- [All Shopify integrations](https://seamless.engineering/integrations/shopify/)
- [Shopify API changelog](https://seamless.engineering/api-changelog/shopify/): 9 breaking changes and 2 deprecations in the last 90 days

## Request a scoping call

Need this integration built and permanently operated? Tell us which systems connect and what data has to move. Fixed-price scoping quote within 48 hours.

- Email: hello@seamless.engineering
- Contact form: https://seamless.engineering/#contact
