CASESTUDIE

ZEMA

Maatwerk boekhoud-CSV-export over twee WooCommerce-webshops.

Overzicht

  • Branche: E-commerce (multi-store) + boekhoudoperations
  • Opgeleverd: Interne exporttool die een boekhoudklare CSV genereert op basis van WooCommerce-orders
  • Rol: Architectuur, implementatie, datamapping
  • Integratiepunten: WooCommerce REST API (orders), Minimax-referentielinks, payment provider dashboards
  • Status: Interne tool in productie

Context

ZEMA beheert twee webshops en heeft consistente boekhoudexports nodig. De gewenste workflow was een CSV-bestand met een stabiel schema, puntkomma als scheidingsteken en Excel-vriendelijke encoding, plus drill-down links naar WooCommerce, Minimax en payment processors.

Probleem

  • De boekhouding heeft een geconsolideerde CSV nodig met voorspelbare kolommen en encoding.
  • Exports moeten filterbaar zijn op betaalperiode, orderstatus en betaalmethode.
  • Minimax-factuurreferenties moeten worden meegenomen als orders al eerder geëxporteerd zijn.
  • Transacties moeten traceerbaar zijn naar provider dashboards (Stripe/PayPal/Bankart).
  • Grote ordervolumes vereisen deterministische paginering.

Oplossingsoverzicht

We hebben een beveiligde interne tool gebouwd die:

  • Eén van de twee WooCommerce-sites kiest en een exportperiode.
  • Alle betaalde orders ophaalt via de WooCommerce REST API met paginering.
  • Minimax-exportmetadata uit order meta haalt (bijv. `_minimax_exported`, `f_IssuedInvoiceId`).
  • Een boekhoudklare CSV output (UTF-8 BOM, `;` scheidingsteken), streamed via `php://output`.

Architectuur & Technische aanpak

WooCommerce ophalen

  • Gebruikt de WooCommerce PHP client (`automattic/woocommerce`) tegen `wc/v3`.
  • Filtert op betaalperiode (`paid_after`, `paid_before`).
  • Itereert pagina’s op basis van de `x-wp-totalpages` response header.

Export mapping

  • Mapt order id/status, factuurgegevens, totalen, timestamps en betaalmethode.
  • Bouwt per order een WooCommerce admin edit URL.
  • Als een Minimax invoice id bestaat, bouwt het een directe Minimax UI-link.
  • Als een transaction id bestaat, bouwt het waar mogelijk een provider link (Stripe/PayPal/Bankart).

CSV-output

  • Schrijft UTF-8 BOM voor spreadsheet-compatibiliteit.
  • Gebruikt puntkomma als scheidingsteken voor boekhoudimport.
  • Streamt rijen om hoog geheugengebruik te vermijden.

Technologiestack

  • PHP
  • WooCommerce REST API + WooCommerce PHP client
  • Basistoegangsbeveiliging

Resultaten en impact

  • De boekhouding krijgt on-demand een consistente, import-ready CSV vanuit eender welke webshop.
  • Snellere reconciliatie via directe drill-down links (WooCommerce, Minimax, payment dashboard).
  • Minder handwerk en minder boekhoudfouten.

Samenvatting

Een kleine interne exportapplicatie die betaalde WooCommerce-orders ophaalt, verrijkt met Minimax- en payment-referenties en een boekhoudklare CSV output — gebouwd voor multi-store operations en reconciliatie-workflows.