Home/Projects/Automated B2B store
A B2B store that runsitself, cart to waybill
Two online stores that sell only to businesses, with goods shipped directly from suppliers. We automated order intake, the company check with ANAF (Romanian tax authority), the pro forma, the waybill (AWB) and stock synchronization, on our own server.
Where we started
Grid Security Systems sells security equipment through two stores, gss.ro and turnicheti.ro, to businesses only. The customer buys from us, and the goods ship directly from one of the distributors' warehouses.
Every order required the same manual steps:
- checking the customer's company with ANAF
- finding the supplier and the real stock on its B2B portal
- the pro forma for the customer and the AWB from the supplier's warehouse
- emails to the customer and the supplier, then the order status in the store
On top of that, orders from turnicheti.ro were not read at all by the old system, sessions on the supplier portals expired, and a few checkout errors blocked orders without anyone finding out.
The solution
We built an automated operator for both stores on our server. The stores stayed on their own hosting; the server only reads and updates them.
- every 30 minutes it picks up new orders from both stores and incoming emails
- it checks the company with ANAF, finds the supplier of each product and sends a phone notification
- for bank transfer payments, the store issues the pro forma in Oblio by itself and attaches it to the confirmation email
- the AWB is created through the FAN Courier API, from the supplier's warehouse, including for FANbox lockers
- stock and prices are read from the supplier portals, and a daily check flags discrepancies
- a WhatsApp Business assistant searches the catalogue and records quote requests
An order's path, step by step
What the system does from the moment an order is placed until it ships. Cancellations stay with a person.
Stock and prices
Read from the distributors' B2B portals, including those without an API.
- choosing the supplier with real stock and the lower price
- configurable markup per supplier
- new products imported with data, photos and unique text
Daily check
A report showing what does not match between the store and the suppliers.
- stock freshness
- price deviations of 3% or more
- products wrongly shown as "In stock"
WhatsApp assistant
Answers customers on WhatsApp Business, using data from the real catalogue.
- searches products, prices and availability
- records quote requests, with an ANAF check
- hands over to a person and pauses when we reply
What runs and what comes next
Not all parts are at the same stage. We show them separately.
| Component | Status | Since |
|---|---|---|
| Automatic order intake (both stores) | In production | 24 Oct 2026 · both sites since 29 Oct 2026 |
| AWB through the FAN Courier API | In production | first real AWB on 30 Oct 2026 |
| WhatsApp Business assistant | In production | 30 Oct 2026 |
| Automatic Oblio pro forma | In production | 3 Nov 2026 |
| FANbox locker delivery | In production | gss.ro since 3 Nov 2026 · turnicheti.ro next |
| Card payment (Netopia) | In progress | account application sent on 2 Nov 2026 |
| Automatic invoice and e‑Factura | Proposed | invoices are still issued manually in Oblio |
Three problems and our workarounds
AWB from the supplier's warehouse
The store's courier module did not allow a different sender, and the API ignored the sender field. In the company's courier account we created a branch with the address of each warehouse, and we create the AWB through the API on that branch, with cash on delivery and locker destinations.
Portals with no API, expiring sessions
Some B2B portals have no API and log the user out. We read stock with a real browser controlled over CDP, which checks the session before each supplier and logs back in by itself. In testing: 672 / 672 and 5,641 / 5,641 codes read.
Orders lost at checkout
Automated order tests on an emulated phone and on desktop found a script that cleared the city field when a county was selected, and a wrong email address that stopped the order without a message. We fixed both and retested with test orders.
What we measured on the sites
All speed changes have a backup and a rollback step.
| Metric | Before | After |
|---|---|---|
| Mobile PageSpeed · gss.ro, home page | 70 (LCP 5.6 s) | 80 (LCP 4.5 s) |
| Mobile PageSpeed · time attendance systems page | 68 (LCP 6.5 s) | 81 (LCP 3.4 s) |
| Mobile PageSpeed · access control page | 72 | 82 |
| Mobile PageSpeed · turnicheti.ro, home page | 69 | 80 |
| Icon font | 358 KB | 21 KB (woff) |
| schema.org errors fixed on turnicheti.ro | 1,771, from a single line of code | |
| Our own crawl of gss.ro | 6,898 pages, 0 broken links, 0.3 s average response | |
Claude as part of the system
Claude is not just the tool we wrote the code with. In these stores it works from a written procedure, driven by events.
What Claude does
- handles the events created by the server (orders, emails, deadlines) following the written procedure
- fills in the order record and logs each step in its history
- answers on WhatsApp, searching the real catalogue
- places test orders on phone and desktop, flagged and excluded from the flow
What we do
- cancellations and sensitive decisions
- pricing, markup and delivery rules
- the courier, invoicing and payment accounts
- the relationship with customers and suppliers
Every change the system makes is logged. Speed optimizations have a backup and a rollback step. See also how we work with Claude.
Related services and projects
E‑commerce automation
The same flow, adapted to your store and your suppliers.
AI assistants for business
Assistants on your own server, with human approval for what matters.
Online ticketing app with QR codes
Purchase, tickets by email, scanning at the entrance and reports.
Do your orders pass through too many programs?
Tell us which store, which suppliers and which invoicing and courier software you use. We will show you what can be automated and what stays with you.