01 Starting point
In banking, nobody buys freely on the open web. Orders run through procurement systems that hold budgets, cost centres and approval levels. A supplier shop that sits outside those systems creates breaks in the chain: retyping, separate approvals, double entry.
At the same time, forms printing is a configuration-heavy business. Formats, print runs, paper grades, carbonless sets and personalisation add up to a large number of variants, and every customer has its own framework terms. A standard shop without B2B logic does not cover that.
02 Solution
The basis is Shopware. The shop is set up for B2B: customer groups with their own terms, ranges released per customer, order history and repeat ordering of familiar forms. Product configurations cover print runs, finishes and variants.
The core of the project is the OCI plugin. The buyer starts in their procurement system, is logged into the shop by punch-out with the credentials passed across, and sees the range released to them at the prices that apply to them. The finished basket is not placed as an order but returned in OCI field format to the hook URL of the procurement system, including part number, description, quantity, price and unit.
Every connection is tested against the specific customer system, because field usage, character sets and return methods differ in practice. Underneath sit PHP 8 and MariaDB, and deployment and operation run in Docker containers on our own servers in Germany.
03 Result
The buyer stays inside the familiar procurement process. Approval, cost centre assignment and budget checks stay in the customer's system, the catalogue comes from the shop, and line items do not have to be retyped.
For Lijnco, connecting further customers becomes more a configuration task than a project of its own. Alongside that, the shop stays usable as a conventional B2B channel for customers without a procurement system of their own.