The problem

Every order means copying data from the shop into the accounting system and updating stock in a spreadsheet. Payments by card, invoice and local methods such as TWINT are reconciled by hand. We answer the same 'where is my parcel?' emails every day, and abandoned carts and repeat customers get no follow-up because nobody has the time.

How it connects

  1. 01 Order placed Checkout with card, invoice or local methods
  2. 02 Payment confirmed Verified webhook from the provider
  3. 03 ERP & accounting Customer, order, invoice, stock
  4. 04 Fulfillment Picking list, label, tracking number
  5. 05 Customer messages Confirmation, shipping, review request
  6. 06 CRM & analytics Segments, repeat orders, margins

Building blocks

Building blocks

  • 01

    Shop and checkout

    Shopify, WooCommerce or a custom shop with prices including the right VAT, multilingual product pages, and card and local payment methods, such as TWINT, through a payment provider.

  • 02

    Order and payment sync

    Webhooks from shop and payment provider, verified by signature and processed idempotently, so a retried webhook never creates a second order or invoice.

  • 03

    Accounting and ERP connection

    Customers, orders and invoices written to bexio, Abacus, Xero or your ERP through their APIs. For invoice payments, bank credit notifications (camt.054) are matched to open invoices by their payment reference.

  • 04

    Stock synchronization

    One system is the source of truth for stock. Levels are pushed to the shop on every change or on a schedule, with alerts when a product runs low.

  • 05

    Order and shipping messages

    Order confirmation, shipping notice with tracking link, delivery follow-up and review request, in the customer's language, sent from an authenticated domain.

  • 06

    Cart recovery and repeat purchases

    Abandoned-cart reminders and win-back campaigns for customers who agreed to marketing, by email or by WhatsApp where the customer opted in.

  • 07

    Customer service chatbot

    Answers 'where is my order?' from live order data after checking order number and email, and hands returns and complaints to a person.

  • 08

    Customer data and reporting

    Order history in the CRM, segments for campaigns, and a dashboard with revenue, margins and repeat orders built from the same data.

Automate the order-to-cash path first, marketing second. Order, payment, accounting and fulfillment run on every sale, so each manual step there costs time on every order and causes most of the errors customers notice. Cart reminders and win-back campaigns come after, once order and customer data are reliable. Use your shop platform’s apps where they cover the case; build an integration layer when shop, ERP, accounting and warehouse need to agree on the same order.

Shop apps, integration layer or custom build?

For a standard Shopify or WooCommerce shop with one accounting tool, apps and plugins often cover the basics. When several systems must agree on orders, stock and customers, a dedicated integration layer gives you control over mapping, retries and error alerts. A custom shop or module is worth it for B2B ordering, configurators or pricing rules the platforms cannot express.

Shop apps and plugins Integration layer Custom shop or module
Good for Standard flows on one platform Shop plus ERP, accounting, warehouse, CRM B2B ordering, configurators, special pricing
Speed to launch Fastest Medium Slowest
Control Limited to each app’s settings Full control over mapping and error handling Full
Typical risk Several apps writing the same data Needs monitoring and a clear owner Maintenance is yours

How is the order flow put together?

The payment provider’s webhook, not the checkout click, starts the flow. The integration verifies the webhook signature, checks whether it has already processed this event, and only then creates the customer and order in the ERP or accounting system. Stock is reduced in the system of record and pushed back to the shop. Fulfillment gets a picking list; the shipping label returns a tracking number that goes into the shipping email.

Invoice payments close the loop: the bank delivers credit notifications in ISO 20022 format (camt.054), and the integration matches each payment reference to its open invoice. Anything that doesn’t match goes to a review list instead of being guessed.

We have built this kind of plumbing before: a Shopify app with Shopify Flow extensions, WhatsApp cart recovery, app billing and GDPR webhooks, and a WooCommerce plugin that turns new orders into CRM deals. The Shopify app verifies every incoming webhook by its HMAC signature and ignores events it has already processed.

Example: an outdoor-gear shop in Graubünden

Illustrative scenario, not a client project.

A shop with a store in Chur and an online shop sells climbing and ski-touring equipment in German, Italian and English. Orders are copied from WooCommerce into Abacus, stock is corrected in a spreadsheet at night, and two people answer order-status emails.

After the project, a paid order (card or TWINT) creates the customer and invoice in Abacus through its REST API. Abacus becomes the single stock record for store and web shop, and the web shop reads stock levels from it every few minutes, so boots that just sold in the store are not sold again online. The customer gets a confirmation in their language, then a shipping notice with tracking. The chatbot answers status questions from live data. Business customers who pay by QR-bill invoice are matched automatically from the bank file. Customers who opted in get a reminder when they leave a cart, and a message before the next ski-touring season.

Which rules and local systems matter?

For a shop selling in Switzerland, the Unfair Competition Act sets two rules. Art. 3 para. 1 let. s requires clear seller identity and contact details, a transparent ordering process, a way to correct input errors and an electronic order confirmation without delay. Let. o requires consent for advertising by email or SMS, with a narrow existing-customer exception.

Beyond that, the Swiss Price Disclosure Ordinance requires consumer prices in CHF including VAT (standard rate 8.1% since 1 January 2024; reduced rates apply to some goods, such as food). The QR-bill replaced the old red and orange payment slips on 30 September 2022, and invoices can carry a structured reference (QR reference or Creditor Reference) that makes automatic matching possible. TWINT is available online through payment providers such as Stripe and Swiss payment service providers. Under the revised FADP, your privacy notice must name the countries where your shop, payment and email providers store customer data if that is outside Switzerland.

Shops that sell into the EU work under the equivalent EU rules: an electronic acknowledgment of each order under the E-Commerce Directive, consumer prices shown including VAT, national consent rules for marketing email and the GDPR for customer data. In discovery we list the rules for each market you sell in.

How does a project run?

  1. Discovery. We follow ten real orders from checkout to delivery and payment, and note every manual step.
  2. Architecture. System of record for customers, orders and stock; field mapping; event list; error handling.
  3. Build. Integrations and message templates on a staging shop with test payments.
  4. Launch. Order sync first, then messages, then stock; old and new flows run side by side for a short period.
  5. Iterate. Error lists and support emails reviewed to find the next step worth automating.

After discovery you receive a fixed-price or phased proposal. Customer-facing messages across channels are covered in more depth in customer communication.

FAQ

Frequently asked questions

What is e-commerce automation?

It is the set of connections that lets an online order move through payment, accounting, stock, shipping and customer messages without manual steps. The shop, the payment provider, the ERP or accounting tool and the messaging system exchange data through APIs and webhooks. People handle exceptions, such as a failed payment or a damaged parcel, instead of copying every order.

Can you connect our Shopify or WooCommerce shop to our accounting software?

Yes, as long as we get API access on both sides. Shopify and WooCommerce send webhooks for new orders, and accounting tools such as bexio, Abacus or Xero publish APIs for customers, orders and invoices. We map the fields (customer numbers, VAT codes, shipping costs, discounts), process each order exactly once and alert someone when a record is rejected. We have built a Shopify app and a WooCommerce-to-CRM order sync before.

Do we need consent to send abandoned-cart emails?

We treat cart reminders as marketing. The Swiss Unfair Competition Act requires consent for mass advertising by email or SMS, with an exception for existing customers buying similar products who were offered an opt-out, and EU rules are similar. A visitor who left a cart without buying is not clearly a customer yet, so we send reminders only to people who ticked a consent box. Ask your lawyer if you want a different line.

Is an order confirmation email legally required?

In Switzerland and the EU, yes. The Swiss Unfair Competition Act (Art. 3 para. 1 let. s) requires online sellers to confirm the order electronically without delay, and to give clear seller identity and contact details, the technical steps to conclude the contract and a way to correct input errors. The EU E-Commerce Directive (Art. 11) sets a similar acknowledgment duty. An automated confirmation email covers the confirmation part reliably.

Can we accept TWINT or other local payment methods in our online shop?

Yes. TWINT in Switzerland, and methods such as iDEAL or Bancontact elsewhere in Europe, are offered for online shops through payment providers, including Stripe and several local payment service providers, usually alongside cards. The customer approves the payment in the payment app or in online banking, and the provider notifies your shop by webhook. We integrate through the provider you choose and make sure the confirmed payment, not the checkout click, triggers the order flow.

What should we automate first in our online shop?

The order-to-cash path: order, payment, accounting and fulfillment. It runs on every sale, so errors there cost money and customer trust. Next come the standard customer messages and stock sync. Cart recovery, win-back campaigns and detailed analytics come third, once order and customer data are reliable enough to act on.

Discuss your project

Orders, payments, stock, accounting and customer messages connected between your shop, ERP and CRM, so every sale flows through without copy-paste and customers always know where their order is.