BK Modules for PrestaShop agencies: 30% and custom work
Friday afternoon. One of your clients, who sells to installers, writes with three things «before the holidays»: the catalogue must stay hidden until he approves each new customer, EU VAT numbers must validate themselves, and prices should show in the currency of the country the visitor is coming from. None of the three is a project on its own. All three together eat your month.
If you build or maintain PrestaShop stores for other people, the problem is never that you can't do it. It's that building it from scratch, keeping it alive when the next PrestaShop version lands and answering for the bug two years from now doesn't fit the budget your client approved.
We build modules and custom development for PrestaShop, and we work with agencies, studios and freelancers in two ways: you take our catalogue with 30 %, and you take our workshop for whatever isn't worth building in-house.
Two ways to take the 30 %
Same figure, two routes, and the only difference is who puts the card down:
- A 30 % coupon when you buy. You buy the licence as an agency, with your coupon, and invoice your client at whatever rate you work with. The margin is yours from the first order and your client never sees our list price.
- A 30 % commission when your client buys. You pass on your link, they buy, the licence sits in their name —their account, their downloads, their updates— and you get the commission on that sale without putting any money up front.
Which one suits you isn't about money, because the percentage is the same. It's about who you want to own the licence. If the store is a maintenance client and you want to own the relationship with the tools it runs on, buy it yourself. If your client prefers licences in their own name —or you're handing the project over and closing it— pass the link and take the commission.
The same 30 % either way. What you're choosing isn't the margin: it's whose name is on the licence.
The affiliate link marks the visitor for thirty days. If your client arrives today through your link, sleeps on it and buys next week, that sale is still yours. The rest, in short:
- Commission is calculated on the net amount: the price without VAT, without discounts or refunds and without payment-method fees.
- Every sale goes through two months of validation before it becomes available balance. That's the window for returns and unpaid orders to settle.
- Balances can be withdrawn from €50, by PayPal or bank transfer.
How to get in
- Write to us and tell us what you do. No minimum volume, no exclusivity: we just want to know who you are and what kind of stores you run.
- We issue your coupon, in your agency's name. It isn't a public code: it's yours, and it works on every purchase you make.
- You sign up for the affiliate programme at affiliates.bkmodules.com: that's where your link lives, along with the visits you send, the sales credited to you and the full terms.
The two routes live together: buy the licences yourself for some clients, pass the link for others. The only thing you can't do is stack both on the same sale.
What's already built and you can sell tomorrow
The whole catalogue is our own work, it runs on PrestaShop 1.7, 8 and 9, and it installs on your client's domain without touching the core:
- Trade registration with manual approval, for stores that only sell to businesses: the catalogue stays closed until someone approves the customer, and the VAT number is checked against the European register. We covered it in a trade-only store with a hidden catalogue and in validating VAT numbers against VIES.
- The withdrawal button, mandatory across the European Union since 19 June 2026. If you run European stores, it's the fastest answer to an awkward email: what the rule actually requires.
- Geolocation and country pricing: every visitor arrives with their language, their currency and their price list. It pays for itself the moment a client crosses a border — country-based pricing.
- A cookieless captcha for registration and contact forms, with no consent banner and no data sent to third parties: the alternative to reCAPTCHA.
- Address autocomplete in the checkout, which is what stops failed deliveries: addresses written correctly first time.
- Downloads with variants, to sell licences, bundles or vouchers with combinations and no shipping step: how it's put together.
Updates travel with the licence: when we release a new version, it shows up in the licence holder's account ready to download. Nobody has to keep checking.
The workshop: what isn't worth building in-house
The other half of our work is white-label custom development, and much of it comes from agencies that have already sold the project and don't have the slot. Our rules are short:
- We talk to your team, not to your client, unless you want us in that meeting. The project is yours and the face in front of the client is yours.
- We don't go around you for your client list. The client you bring stays your client, including after the job ends.
- Code is delivered and explained. What we build lands in your repository, documented, so your team can maintain it. If you'd rather we maintain it, that works too.
Typical jobs: a custom module that doesn't exist on any marketplace, a 1.7 to 9 migration with old modules along the way, a performance rescue when the store falls over at the worst hours —it's almost always bots and faceted search— or a technical SEO review when traffic won't start.
Connectors between PrestaShop and the ERP
This is what agencies ask us for most, and also what stalls most projects: the client already has an ERP, with its price lists, its stock per warehouse and its customers, and the store has to be the shop window for that, not a third catalogue kept by hand.
Before a line is written, the job is deciding who's in charge of what: the ERP owns prices, stock and rates; the product record owns how the product is described; the store owns the selling. With that settled, the connector is a calm piece of work. Without it, no integration survives six months.
What usually crosses over: articles and their content, price and per-customer rates, stock per warehouse, minimum sales units, orders landing in the ERP with nobody typing them, and order status coming back to the store. On top of that, discontinued and new items, so a withdrawn reference disappears on its own.
We don't work from a closed list of ERPs: we connect to whichever one your client has, through its API, its files or its database. There's one case told end to end —16,700 references, price and stock from the ERP, product content from the group catalogue and orders arriving on their own— in connecting PrestaShop to Go!Manage and Aunabase.
Questions agencies ask us
Whose name is on the licence?
Whoever buys it. Buy with the coupon and it's yours, to install where it's needed; if your client buys through your link, it's theirs. And if a client changes hands, the licence can be moved to the right account: a person does that, not a form.
Can I use the coupon and the commission on the same sale?
No. Each sale goes one way: either you buy it at a discount, or your client buys and you take the commission.
Who supports the client when something breaks?
You, if you want to be the only visible face: you write to us and we answer behind you. Or us directly, if you'd rather hand the support over. It's decided at the start and it can change.
What if the module almost fits, but my client needs one more thing?
That's the most common conversation we have. Sometimes what's missing is already on the roadmap and ships in the next version for everyone; sometimes it's so specific to your client that it's built separately. Either way you get an answer within a day.
Let's start with one client
There's nothing to sign and no «partner» badge to earn. Do you have a store right now waiting on something that isn't worth developing? Tell us about it and we'll say whether it already exists, whether we'll build it, or whether it isn't for us. The first conversation is free.