Blog
A café owner logs in on a Monday morning to reorder the beans and machine parts they always buy. They see only their own products, at the prices they negotiated, and place the order in a couple of minutes. Behind that single click, the order has to become a draft invoice inside the company’s Xero accounts, under the correct trading name, at that customer’s own tiered price, with the balance they already owe visible to the team. Nobody retypes a thing.
That is the job HessianHub does. It is a login-only, business-to-business wholesale ordering platform built on osCommerce for Hessian Vending and Hessian Coffee, a UK supplier of coffee, machines and vending products. The platform is driven by the client’s Xero accounting system, and it replaces phone-and-email wholesale ordering with a website and admin panel that stay in step with the accounts.
Put simply, every order flows into Xero as a draft invoice, approving that invoice in Xero flips the order from Pending to Processed, each customer sees only their assigned products at their own tiered prices, and because the business trades as two entities, customers are grouped so each order is invoiced from the right one. No public signup, no second set of records to reconcile.
Wholesale ordering for a two-brand coffee and vending business, run through Xero, is full of manual steps and room for error. Orders taken by phone or email have to be re-entered into Xero by hand, which is slow and easy to get wrong. Every customer buys a different set of products at their own negotiated price, so a single public price list was never going to work. And an order only becomes real once its invoice is approved in the accounts, so any ordering front-end has to mirror that state rather than run its own parallel workflow.
The requirements sharpened into six problems the build had to solve at once:
HessianHub is an osCommerce storefront and admin, extended with custom modules whose real job is to keep the ordering experience aligned with Xero. Public signup is disabled, so access is by admin-provisioned login only. When a customer signs in, they see the products assigned to them at their own tiered prices, can browse the wider catalog, and place orders with tax, shipping and delivery address shown. They also get order history and status, saved addresses, favorites and a frequently bought list. This is the kind of osCommerce development work that turns a general store platform into a purpose-built wholesale tool.
The ordering path is deliberately simple on the surface and tightly coupled to the accounts underneath. It runs in a fixed sequence:
From the admin panel, the team manages customers and module-scoped sub-admins, assigns and prices products per customer, groups products and customers, places orders on a customer’s behalf, approves or rejects orders (which reflect back in Xero), and sees each customer’s live owed and overdue balances pulled straight from the accounts. Grouping customers by site decides whether Hessian Vending or Hessian Coffee invoices each order.
Under the hood, this is an osCommerce base extended with custom modules that hold the two systems together. Xero owns the products, prices, invoices and balances; HessianHub presents the right products and prices to each customer, turns their orders into Xero draft invoices, and mirrors the approved status back. The architecture breaks into a handful of subsystems, each mapped to a requirement.
The Xero synchronization layer was the piece worth building carefully, because it is where the whole platform earns its keep. Reading inventory, pricing and balances from the accounts and writing orders back as draft invoices is a two-way integration job, and it is exactly the sort of API development that keeps two systems telling the same story instead of drifting apart.
The hardest problems all came back to one rule: Xero stays in charge. Keeping the platform in step meant a sync layer that feeds products, images and tiered prices from Xero and reads balances live, so HessianHub reflects the accounts rather than becoming a separate record someone later has to reconcile. Showing each customer their own catalog meant assigning and grouping products per login and pricing them by tier, so a customer sees only what they buy at their negotiated rates. Turning orders into accounting cleanly meant writing each order as a draft invoice on placement, with the customer seeing Pending straight away and no double handling between the store and the books.
Mirroring approval back as status meant the order becomes Processed only when its Xero invoice is approved, so the customer’s view can never drift from the accounting. Handling two trading entities meant customer grouping decides who invoices the order, kept separate from the delivery address so billing entity and shipping destination never get crossed. And giving admins broad control with scoped sub-admin access kept the team able to manage everything while limiting who can reach what. This tight coupling of ordering to the accounts is what finance and accounting-driven businesses need when their operations run through a single system of record.
The outcome is a wholesale platform where the ordering experience and the accounts stay aligned by design. Orders become Xero draft invoices automatically, removing manual re-entry and its errors. Each customer sees only their assigned products at their own tiered prices. Pending and Processed mirror the real invoice state, so customers and admins see the same truth. Admins see owed and overdue balances per customer, pulled straight from Xero. Customer grouping invoices each order from the correct trading entity, separate from delivery. And login-only access with module-scoped sub-admins keeps control appropriate at every level.
The platform fits the business because it was built around how the company actually sells and accounts, not around a generic store template. If you run wholesale ordering through an accounting system and want the two to stay in step, you can hire back-end developers who have wired stores directly to accounting platforms, or tell us how your ordering and accounts work today and we will map the flow between them.
Can an osCommerce store be integrated with Xero accounting?
Yes. HessianHub is an osCommerce storefront extended with custom modules that read products, images, per-customer tiered pricing and live balances from Xero, and write each order back to Xero as a draft invoice, so the store and the accounts stay in step without manual re-entry.
How does each customer see their own products and prices?
There is no public signup. The admin provisions each customer’s login and assigns them products at their own negotiated tiered prices, so every customer sees only their curated catalog and rates rather than a single public price list.
What is the difference between a Pending and a Processed order?
An order is Pending as soon as it is placed and written to Xero as a draft invoice. When the admin approves that invoice inside Xero, HessianHub changes the order to Processed and sends confirmation emails to the customer and the admin, so the status always mirrors the real accounting state.
How does the platform handle two trading entities?
Customers are grouped by site, and that grouping decides whether an order is invoiced from Hessian Vending or Hessian Coffee. The billing entity is kept separate from the delivery address, so who invoices an order and where it ships never get confused.
Can admins place orders and manage pricing themselves?
Yes. From the admin panel the team manages customers and module-scoped sub-admins, assigns and prices products per customer, places orders on a customer’s behalf, approves or rejects orders (reflected back in Xero), and sees each customer’s live owed and overdue balances.