Blog
01
Articles and tags with scheduled publishing: set a publish date in the future and the post stays invisible until it passes. Per-locale translations, an RSS feed, tag archives and automatic "read next" from shared tags.
No dependencies
Catalog
02
Products, categories, tags and tax classes, with variants when you need them: option types like size and colour produce per-variant SKU, price, stock and weight. Search page included. Useful on its own for a "featured work" grid, without any shop.
No dependencies
Customer
03
Registration with email verification, login with remember-me, password reset, and an account with profile, address book and past orders with their invoices. A business customer keeps a company name and VAT number on the account. Every screen and every mail is a template your theme can override.
No dependencies
Cart
04
Anonymous and persistent carts. Each line snapshots the name and price at the moment it was added, so editing a price never rewrites somebody's open cart. Products can ask for a note per line: the text to engrave, the allergy to avoid.
Needs catalog + customer
Checkout
05
Address and payment picker, cash on delivery, Mollie and Stripe with verified webhooks, receipt to the customer and a notice to your inbox. Numbered PDF invoices and credit notes, a morning's packing slips in one print, and a holiday closure that keeps the shop selling.
Needs cart + catalog + customer
Shipping
06
Carriers, zones and rate tables. A zone is a set of countries, optionally narrowed to postcode ranges, prefixes or exact codes, and rates go by weight and package size. Two carriers in one zone means the customer picks; cheapest is offered first.
Needs checkout
Vouchers
07
Promo codes: percentage, fixed amount, free shipping, or buy-X-get-Y over the cheapest qualifying units. Validity window, minimum order and a hard redemption cap that is counted once, on the order that actually gets paid, and frozen onto it.
Needs cart
Catalog & volume discounts
08
Automatic repricing with no code typed. A sale on one product or a whole category, or quantity tiers where reaching 10 reprices the entire line, not just the units past the break. Shelf, cart and till all read the same resolver.
Needs catalog
Gift cards
09
Sold as a product, one variant per amount, and mailed to the person it is for on the day the buyer picked. The code exists only once the order is paid. It is spent as a balance: a €50 card against a €30 order leaves €20 for next time.
Needs cart
Landing pages
10
One template plus a CSV is N published pages: five services across nine cities is 45 URLs, each with its own slug and meta pattern. The import validates every row, slug clash included, before it writes anything.
No dependencies
Portfolio
11
Collections backed by a media folder. Dropping a photo in the folder adds it to the gallery, and the folder order is the gallery order. Deep-linkable tabs with arrow-key navigation, and every panel stays visible when JavaScript does not load.
No dependencies
Newsletter
12
Double opt-in capture and campaigns that send in batches of 50 with a pause between, because a burst tanks deliverability for the whole domain. One-click unsubscribe from the mail client, which is what keeps you out of spam folders.
No dependencies
Review requests
13
Some days after an order ships, the customer gets one email asking for a review on your Google profile, or on any review site you name. bol.com orders, refunds and anyone who unsubscribed are skipped, and a returning customer is not asked again for months.
Needs checkout
Vehicle lookup
14
A Dutch plate becomes brand, model and year on a quote form, free through the RDW open register, cached per site. When the registry cannot answer, the field is a plain text input and the visitor still submits.
No dependencies
FAQ
15
Questions as rows, not paragraphs. Optional categories with a page each, a search box that works without JavaScript, and a link straight to any one answer. Each language keeps its own list, and the FAQPage data describes exactly what is on the page.
No dependencies
SEO
16
Title, description, canonical, Open Graph, JSON-LD and hreflang, editable next to the page copy, plus sitemap.xml and llms.txt. On for every site from day one. Switch it off and the head is the bare title; switch it back and every stored override returns.
On by default
VAT engine
17
VAT by destination for the Netherlands and Belgium, VAT on shipping, and 0% for EU businesses whose number checks out in VIES. The quarterly return figures and proof of transport sit on one screen. An order it cannot decide is refused, never guessed.
Needs checkout
bol.com
18
Stock goes up to your bol offers and orders come down as ordinary orders, every fifteen minutes. It never creates an offer or pushes a price, and an imported order keeps what the customer paid on bol. A dry run shows the changes first.
Needs checkout
A module that depends on another stays off until that one is on too, and the admin says which is missing rather than half-working.