Client Food importer
Industry Wholesale & direct-to-consumer
Services ERP integration · E-commerce · Automation · AI content
Integrating GBP Gestión with WooCommerce to switch the online channel on
They already had a store syncing with their ERP, and it was switched off anyway: without per-customer pricing or invoicing, selling online was impossible. Today the retail channel runs on its own —paid, shipped and filed in GBP with nobody touching it— and wholesale orders are no longer keyed in by hand.
0
products syncing on their own
0
price lists per channel
0
warehouses with live stock
0 min
lag between ERP and store
The problem
An importer and distributor of food-service products that sells both to end consumers and to wholesalers, distributors and franchises. The whole operation —catalog, prices, stock, customers— lives in GBP Gestión, their ERP.
They already had an online store integrated with the ERP, and it worked: new products, price changes and orders synced on their own. The channel was switched off anyway. It had been reduced to taking orders from five company-owned stores, and the retail market was never turned on at all.
The blocker was not syncing: it was everything the platform could not customize. Bundled SKUs —several units of one item making up a new one— reached the ERP with a zero amount, so someone had to open every order, delete the line and key it in again. Per-customer price lists existed, but they were assigned by hand in the store instead of coming down from the ERP. And there was no way to enable a specific payment method or sales term for a given customer.
The feature they needed most was the one they had been refused: letting a customer buy on a delivery note or on an invoice, having the order land in the matching warehouse according to that choice, and showing or hiding taxes depending on the customer type. It wasn't only their previous vendor who called it impossible — other partner firms of the same ERP said the same.
So the bar for the project was not a good-looking catalog, nor re-syncing what already synced. It was a store that could actually sell, to both channels, without adding admin work to anyone: if selling online adds manual entry, the channel doesn't survive.
The solution
01The GBP Gestión integration, rebuilt and taken deeper
A bespoke PHP plugin connects WooCommerce to GBP Gestión over SOAP. The catalog —972 products, 65 categories, 378 brands— syncs incrementally every 15 minutes, with a daily full pass and checksums so nothing unchanged is reprocessed. The 7 price lists and the stock of all 6 warehouses update every 5 minutes. Several services we needed didn't exist on the ERP side, and there was no documentation: we mapped its real behavior, requested what was missing and worked around what never arrived. Bundled SKUs now travel with the right amount — the ritual of reopening an order to re-key a line is over.
02What the ERP doesn't do: per-customer discounts and invoicing
We built a discount manager driven by price list, something the ERP itself doesn't ship. And we solved the request they had been told was impossible: an enabled customer picks the invoicing type, and based on that choice the order enters GBP through a different channel —with its own warehouse and its own handling— showing or hiding taxes in the order summary according to the customer type. Every wholesale customer sees the prices of the list assigned to them in the ERP, with no one entering them. Manual price editing in the store is deliberately locked: if a number can be edited in two places, sooner or later the two disagree.
03The whole order: payment, label, warehouse and status
On checkout the system charges online, quotes shipping, creates the customer and the order in GBP with Argentine tax data (CUIT/CUIL, VAT status) and assigns the warehouse. The store wasn't wired to the ERP alone: also to Papex and Andreani for logistics and to the company's WMS, so an order is born with its label and enters the fulfillment circuit without anyone copying it over. ERP statuses were mapped to WooCommerce statuses and flow back every 5 minutes, so the buyer watches their order move without anyone writing an email.
04The retail channel, switched on for the first time
What had never been turned on now runs unattended: a retail order arrives already paid, with shipping resolved both in WooCommerce and in the WMS, and with the right salesperson and sales term in the ERP. The client calls it the most important change of the project, and it's also the one that demanded the most work outside the software: selling online requires data wholesale never needed —without per-product weight and dimensions there is no shipping quote— and no amount of development solves that for you.
05A complete catalog, assembled with AI
A wholesale catalog can't be published as-is: it's missing photos and it's missing descriptions. We built an AI generation dashboard that produces banners, SEO and GEO content for descriptions, general copy and automatic product attribute selection, plus an automation that sources images for new products where the company doesn't have them. Today the catalog shows up complete, with a photo on nearly every product.
06Unattended by design
An external cron, independent from site traffic, drives the syncs. Retries with exponential backoff, automatic re-authentication when the SOAP session expires, and an activity log with 30 days of history available from the admin panel. Order statuses were verified with 51 automated checks, zero failures, without touching the production ERP. And for whatever does need a person, the system speaks up: email notifications to the right department, triggered by what happens on the site, instead of someone watching a screen.
Results
- The retail channel runs on its own: orders arrive already paid, with shipping resolved, filed in GBP with their salesperson and sales term. It had never been switched on before.
- Manual fixes for bundled SKUs are gone: the amount arrives correct and nobody reopens an order to re-key a line.
- What they had been told was impossible is running: the customer picks a delivery note or an invoice and the order lands in the matching channel and warehouse, with taxes shown according to their type.
- 972 products, 65 categories and 378 brands synced automatically; 7 price lists and 6 warehouses, every 5 minutes.
- A discount manager driven by price list that the ERP doesn't ship with.
- The catalog is published complete, with a photo on nearly every product, descriptions generated and attributes assigned by AI.
- The store is integrated not only with the ERP but with Papex, Andreani and the in-house WMS, statuses mapped both ways.
- The wholesale channel is rolling out: salespeople are already handing it to their customers and orders are no longer keyed in by hand, though collections management still needs human involvement because of the company's internal procedure.