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.