Online shop · Features
Everything the shop does.
124 features in 18 areas, from 15 kits with 608 tests between them. Every row names the test that proves it, and the build refuses a row whose test does not exist.
Start here — what a merchant asks first
- Stock that cannot be sold twicePlacing an order reserves the pieces; a reservation that is never paid gives them back.
- Cards through StripeStripe's own checkout page, confirmed by its signed webhook.
- The whole price up frontGoods, discounts, delivery and the VAT inside it, before anyone commits.
- Gap-free invoicesEvery paid order invoiced from one sequential series, as a PDF.
- Many carriers through SendcloudDHL, DPD, GLS, UPS, PostNL and more — labels, customs, tracking, returns and pickups through one account.
- Returns line by lineThe customer returns what they choose from their history.
- Renewals that charge themselvesEach period is an ordinary order — invoiced, taxed, shipped — charged to the kept card.
- ErasureThe person removed; only what the bookkeeping law requires is kept, and only for as long.
Catalogue 9
| Feature | What it does | Proven by |
|---|---|---|
| Categories in a tree | Nested categories with their own pages and menus. | a category knows what is under it |
| Products with variants | Sizes, colours or any option, each with its own stock, weight and SKU. | a variant price overrides the product price |
| Photographs | Uploaded from the back office and stored by the shop itself — nothing hot-linked. | a photograph is copied into the public store and ordered |
| Specification sheets | A spec sheet per product that staff edit in the back office, for what a bike or a lens needs to say. | a one of a kind thing is bought once and carries its spec sheet |
| Drafts | A product nobody sees until it is listed. | a visitor sees every listed product and no draft |
| Search, sort and filter | Search the catalogue, sort by price or newness, filter by size. | a search finds by name and narrows by size |
| A sale shelf | Marked-down products gathered on their own page while the markdown lasts. | the sale page shows only what is marked down |
| Addresses that move | Change a product's address and the old one still arrives — a permanent redirect, so search results follow. | a product that moves keeps its old address and says where it went |
| You may also like | Beside each product, what customers paid for together with it, then the rest of its shelf — only what can be bought now. | what was paid for with a product comes first then its shelf |
Accounts 5
| Feature | What it does | Proven by |
|---|---|---|
| Customers and staff on one sign-in | Sign-up, sign-in, two-step sign-in and roles from one account system — the Accounts kit. | staff sign in through the accounts sign in |
| Password reset by mail | A one-time link, and the same answer for any address so nobody can probe who has an account. | a reset mail in the shops design sets a new password once |
| Saved details | Name, address and phone filled in at the next checkout. | details saved are there next time |
| Order history | Every order with its progress, documents and a return button per line. | a sent order is returned from the history |
| A bag that follows the customer | Started signed out, it joins the account at sign-in, on any device. | a visit bag joins the account on sign in |
Checkout 10
| Feature | What it does | Proven by |
|---|---|---|
| The whole price up front | Goods, discounts, delivery and the VAT inside it, before anyone commits. | the checkout quote is what the order charges |
| Re-priced by the address | Delivery and VAT follow the country the customer types. | a shop registered for oss charges the destinations vat and its own at home |
| Terms accepted and kept | The version accepted is stored with the order. | a shop with terms takes no order until they are accepted and keeps which ones |
| The right of withdrawal | Stated at checkout and in the confirmation, as EU distance-selling law asks. | the confirmation hands over the right of withdrawal and its form |
| Buying as a business | Company name and EU VAT number at checkout; a valid number buys without VAT. | a business in another eu country buys without vat and its invoice says why |
| Stock that cannot be sold twice | Placing an order reserves the pieces; a reservation that is never paid gives them back. | an unpaid reservation lapses and its goods go back on sale |
| A country typed in words | "Germany", "Deutschland" or "DE" — read as the same country for VAT, customs and delivery. | a country typed as a name is read as its code and an unknown one is never an export |
| Goods with an age | An age limit per product: the checkout asks for a date of birth, refuses the underage, and the parcel is booked to be handed over against ID. | goods with an age need a date of birth and an age that is enough |
| Prices in the visitor's currency | Euros, kroner or dollars at the European Central Bank's rate of the day, fetched by a job; a stale rate shows the shop's own again. | a shop in kronor shows euros and dollars at the cross rate |
| Sold in another currency | Per currency, shown as an estimate or sold for real: a price list per size, the rest converted and rounded to .95, whole units or 5s — and the order placed, invoiced and charged in it. | a sold currency prices from the price list else converts and rounds |
Payments 10
| Feature | What it does | Proven by |
|---|---|---|
| Cards through Stripe | Stripe's own checkout page, confirmed by its signed webhook. | Stripe a signed completed event reads as paid and a forged one is refused |
| Klarna | Pay now, later or in parts on Klarna's page; charged when the order is sent. | Klarna starting puts the session on klarnas hosted page with the order id in the return address |
| Bank transfer | The order held for the days you choose while the money arrives. | Payments a manual payment is never paid until staff say so and refunds by hand |
| Pay on collection | Paid at the counter when the customer picks it up. | Payments a manual payment is never paid until staff say so and refunds by hand |
| Refunds to the original payment | Back to the card or Klarna once — pressing twice never refunds twice. | a card refund goes to stripe against this orders payment once |
| Payouts reconciled | Every Stripe payout and Klarna settlement matched to its orders, fees booked. | Bookkeeping a payout is matched to its orders and booked with its fees |
| Your own provider | Another processor is a class you write against the payments contract, and the shop offers it. | Payments a provider the package never heard of is chosen by its key and started |
| Chosen and ordered in the back office | Staff pick which ways to pay are offered, and in what order. | staff choose which providers are offered and in what order |
| A card kept for later | The customer asks the shop to keep their card at checkout; renewals are charged to it with nobody there. | Stripe asking to keep the card makes a customer and saves it for charges without them |
| Only what can take the currency | Swish in kronor, Klarna in each country's own currency, a transfer into an account in that currency — anything else is not offered, and the back office says why. | a way to pay that cannot take the currency is not offered and the desk says why |
Discount codes 9
| Feature | What it does | Proven by |
|---|---|---|
| Percent, amount or free delivery | A code that takes a share off, a sum off, or the delivery. | Discount codes a code takes its share off and is counted once used |
| Dates in the shop's own days | Valid from the start of its first day to the end of its last, in the shop's time zone. | Discount codes a week long code applies from the start of its first day to the end of its last in the shops time |
| Limits in all and per customer | A code runs out after so many uses, or after one each — guests included, checked when the order is placed. | Discount codes a code once per customer is refused to a guest who used it when the order is placed |
| A minimum spend | A code that applies only above a basket value, and says so. | Discount codes a code nobody made or out of its rules is refused with why |
| A code given to one customer | To put something right: a code of their own, once, only for them, mailed to them. | Discount codes a code given to one customer is mailed to them and works for them alone once |
| Priced with the basket, every time | A code that ran out between the bag and the order takes nothing off. | Discount codes a limited code runs out and a cancelled order gives its use back |
| On the invoice and in the export | Each discount a line on the receipt and invoice, and named in the bookkeeping CSV. | Discount codes a shopper types a code and the total drops |
| Codes nobody can list | Looked up by a keyed fingerprint; the codes themselves are readable by staff alone. | Discount codes nobody but staff reads a code and the table holds only its fingerprint |
| An amount off per currency | A fixed amount off counts in another currency once staff give it an amount there; a percent works in any currency. | Discount codes an amount off applies in euros only once it has a euro amount |
Reviews 4
| Feature | What it does | Proven by |
|---|---|---|
| Verified buyers only | A review is written by a signed-in customer who paid for the product — one each, which they can change. | Product reviews a customer who did not buy it is refused |
| Read before it goes up | New reviews wait for staff, or go up at once if the shop says so; staff hide one with a reason its author sees. | Product reviews a buyer writes a review that waits until staff publish it |
| Nobody publishes their own | A customer cannot approve, reword past approval or touch anyone else's review — the rule is on the data. | Product reviews a customer cannot publish their own review |
| Stars in the search result | The product's average and count go into the page's structured data for search engines. | Product reviews the products structured data carries the published average |
Subscriptions 10
| Feature | What it does | Proven by |
|---|---|---|
| Plans on a cadence | Every two or four weeks, monthly or yearly — a yearly discount is just a price. | Subscriptions a yearly price is data so two months free is a row |
| Subscribed at the checkout | The plan goes in the bag at the plan's price; the paid order is the first period. | Subscriptions a customer subscribes at the checkout and the paid order is the first period |
| Renewals that charge themselves | Each period is an ordinary order — invoiced, taxed, shipped — charged to the kept card. | Subscriptions a card kept at checkout pays each renewal with nobody there |
| Past due, then back | A declined card is retried every few days; the subscription keeps what it grants until paid or lapsed. | Subscriptions a refused renewal is past due until a card that works pays it |
| Changes by the customer | Pause, resume, skip the next one, change how often or how many, switch plan, stop at the period's end — from their account. | Subscriptions a customer cancels pauses and changes their own plan by asking |
| Upgrades and credits | An upgrade is charged for the days left; a downgrade's credit comes off the next renewal. | Subscriptions an upgrade halfway through charges the difference for the half left |
| Prices that change on a date | Subscribers are told a month ahead and may stop first — or keep the price they pay. | Subscriptions a higher price is told first and reaches each subscriber at their renewal after it |
| Features and limits | Software plans grant features and unit limits another system can ask about. | Subscriptions a plan with an add on is charged for its first period and grants what both give |
| Told to your other systems | Every period drawn, refusal and change is posted, signed and retried, to the endpoint you name. | Subscriptions each period drawn is told to the other system signed and a refusal too |
| Plans kept in step by API | A control plane creates and updates plans by key; the shop keeps what they cost. | Subscriptions a control plane does both over the api with a staff key |
Gift cards and downloads 11
| Feature | What it does | Proven by |
|---|---|---|
| Gift cards | Fixed amounts or the buyer's own, bought for somebody with a message and the day it arrives, mailed with its code once paid. | a gift card is sold paid and mailed to its recipient with the code |
| Kept as fingerprints, like discount codes | Only a keyed fingerprint of each code is kept, as with discount codes. A shopper asks about a code, and the shop answers. | nobody lists gift cards and a buyer never reads a balance |
| Paid with at the checkout | In part or in full, beside any way to pay: after discounts, before store credit. | the checkout pays with a gift card first then store credit then the rest |
| A balance anybody can check | By the code, on the shop's own page. | staff issue a card on the desk and anybody checks it by its code |
| Given back on a refund | Back onto the card, in the part it paid, or a new card if that one has ended. | a refund puts it back on the card and a return in the part it paid |
| The back office's gift cards | Issue, adjust, void, re-send with a new code, each with a reason and a ledger of who did what. | staff issue adjust void and replace with a ledger |
| Booked as money owed | Sold without VAT, as a voucher; the VAT is paid on what it buys, and the books hold it as a liability until then. | Bookkeeping a gift card sold is owed not earned and what it buys is a sale with its vat |
| Files for sale | A PDF, an audio file or a zip, uploaded privately and never public. | a file is uploaded privately and sold without a parcel |
| Downloads | A link in the mail and on the account, so many times for so many days, each a signed link that expires. | a download opens for its buyer only and only so many times |
| Nothing to post | A bag of files and gift cards has no delivery charge, and paid is delivered. | a bag of goods and a file ships the goods and charges delivery for them alone |
| The right of withdrawal, asked | The checkout asks for the consent the law requires before a download, and the order keeps it. | the checkout asks for consent to have it at once and the order keeps it |
Orders 7
| Feature | What it does | Proven by |
|---|---|---|
| Step by step | Reserved, paid, picked, packed, sent, delivered — each step stamped. | a parcel is picked packed sent and delivered |
| Progress the customer sees | The same steps in the customer's history and in every mail. | the timeline tells what happened to an order in order |
| Filtered by stage | The back office's orders in tabs — to pick, being picked, packed, sent — each with its count. | the orders list is filtered by stage |
| A packing list | What to put in the parcel, ticked off line by line, and a packing slip as a PDF. | staff open an order to see what to pack and filter by stage |
| Delivered when the carrier says so | A sent parcel is checked with its carrier every six hours. | a sent parcel is delivered when the carrier says so |
| A new order is mailed to the shop | To the address staff choose in the settings. | the shop is told of a new order and again when it is paid |
| Cancel with a reason | A reservation called off goes back on sale; the reason stays on the order. | staff cancel a reservation and its goods go back on sale |
Delivery 11
| Feature | What it does | Proven by |
|---|---|---|
| Flat rates and collection | A fixed price per way to deliver, or collection from the shop. | Delivery every ready provider offers its options and collection needs no address |
| Zones, weight and value tiers | Domestic, EU and world, priced by weight or by basket value. | Delivery zones price by country and weight and the rest of the world catches the others |
| Free above a spend | Per zone. | Delivery a flat rate is free above its threshold and only where it delivers |
| Many carriers through Sendcloud | DHL, DPD, GLS, UPS, PostNL and more — labels, customs, tracking, returns and pickups through one account. | Sendcloud shipping announces the parcel with basic auth and answers its number link and label |
| US carriers through Shippo | USPS, UPS, FedEx and DHL Express — labels in one call, customs, returns and tracking. | Shippo shipping buys the label in one call and answers number link and pdf |
| PostNord parcels | Nordic parcels booked when the order is sent, with a PDF label to print. | PostNord shipping books the parcel with the orders reference and answers its number link and label |
| Your own carrier | Another carrier is a class you write against the delivery contract. | Delivery every ready provider offers its options and collection needs no address |
| Tracking | A tracking number and link in the customer's mail and history. | PostNord tracking reads postnords status in the contracts words |
| Customs for parcels leaving the EU | A tariff number, what customs calls it and where it was made, per product — the carrier gets the declaration with the booking. | a parcel leaving the eu is sold without vat and declared to customs |
| Carrier pickups | Book the carrier to come for the day's parcels, from the orders. | staff book the carrier to come for the days parcels |
| PostNord customs and pickups | A CN23 sent with the parcel's booking, and pickups booked with PostNord. | PostNord a parcel leaving the eu carries a cn23 with its tariff numbers origin and postage |
Returns and refunds 5
| Feature | What it does | Proven by |
|---|---|---|
| Returns line by line | The customer returns what they choose from their history. | a sent order is returned in part and refunded for those lines |
| QR-code drop-off | A PostNord return code to show at a service point — nothing to print at home. | PostNord a return is booked from the parcel that went out and answers the code and qr to show at the counter |
| Received and restocked | Staff receive the parcel and put the pieces back on sale. | a refund puts the goods back only when they came back |
| Part of an order refunded | One item of three returned, or refunded before sending when it turns out not to be in stock. | one of three comes back and only that is refunded |
| Every refund a credit note | A document of its own, never an edit to the invoice. | a full refund is a credit note against the invoice rate by rate |
Invoices and VAT 8
| Feature | What it does | Proven by |
|---|---|---|
| Gap-free invoices | Every paid order invoiced from one sequential series, as a PDF. | a paid order is invoiced in sequence and an unpaid one is not |
| The seller on every document | Company name, registration number and VAT number. | the receipt of a paid order is its invoice and names the seller |
| A VAT rate per product | Standard, reduced or lower, stated per rate on every document. | a basket mixing rates states the vat at each and delivery and discount follow the goods |
| The EU One-Stop Shop | Registered for OSS, each EU country is charged its own VAT; the 27 rates are seeded and editable. | a shop registered for oss charges the destinations vat and its own at home |
| Reverse charge for EU businesses | A VAT number checked against the European Commission's register sells without VAT. | VIES a number is checked with its country and the company named |
| Exports without VAT | A parcel leaving the EU is sold without VAT, the invoice says why, and the books post it as an export. | a parcel leaving the eu is sold without vat and declared to customs |
| Prices shown without VAT | For a shop that sells to businesses: every price shown excl. VAT, charged the same. | a shop for businesses shows prices without vat and charges the same |
| VAT in your own currency too | An invoice in another currency states its VAT in the shop's own currency as well, at the invoice's rate. | an order in a sold currency is placed invoiced and charged in it with the days rate |
The books 6
| Feature | What it does | Proven by |
|---|---|---|
| CSV | For Xero, QuickBooks, Sage or a spreadsheet. | Bookkeeping a refund is booked back and the vat report nets it |
| SIE 4 | The Nordic bookkeeping file, for Fortnox, Visma and Björn Lundén. | Bookkeeping the sie file names the company and carries the verification |
| The VAT report | Per rate and per country, sales and credits. | Bookkeeping a refund is booked back and the vat report nets it |
| Your chart of accounts | A chart to start from, every account changeable in the back office. | Bookkeeping a days sales are one balanced verification per rate |
| Sales in another currency | Booked in the shop's currency at the invoice's rate, in a verification that names the currency and the rate. | Bookkeeping a sale in euros is booked in kronor at its invoices rate with the rate named |
| Currency gains and losses | What a payout brought in against what the sale was booked at — at Stripe's own rate, or the ECB's of the payout day — on 3960 or 7960. | Bookkeeping a payout in euros is booked at the ecb rate of its day and the difference is the currency gain or loss |
Stock and figures 5
| Feature | What it does | Proven by |
|---|---|---|
| Every change with a reason | Delivery in, correction, damaged, returned — a ledger per variant. | a stock change is recorded and whoever waited is mailed once |
| Low stock at a glance | On the back office, before it runs out. | a stock change is recorded and whoever waited is mailed once |
| Back-in-stock mail | Customers ask to hear when a size is back, and are told. | a sold out product waits for any of its sizes |
| Figures | The last 30 days: revenue, orders, top sellers, most viewed. | views and sales become the desks figures |
| Markdowns that end on their own | Slow movers marked down for the days you choose. | a markdown drops the price everywhere and ends on its date |
Back office and staff 4
| Feature | What it does | Proven by |
|---|---|---|
| One back office | Orders, figures, products, stock, returns, customers, mail and settings. | the desk opens on the orders and sends one with its carrier |
| Packers see no money | A packer role that gets orders out of the door without prices, refunds or customers. | a packer gets an order out of the door and touches no money |
| An outbox | Every mail the shop sent or would send, readable in the back office. | the customers and the mail are on the desk |
| Mail through Resend | Confirmations, dispatch notices, refunds and resets; without a key, mail waits in the outbox. | Resend a plain receipt posts the message and answers its id |
Customers' data 3
| Feature | What it does | Proven by |
|---|---|---|
| A copy of their data | Everything the shop holds on a customer, as a download they or staff can ask for. | a customer downloads everything the shop holds about them |
| Erasure | The person removed; only what the bookkeeping law requires is kept, and only for as long. | erasure keeps what the books must and nothing that reaches the person |
| No mail after erasure | An erased customer can no longer sign in and is never mailed. | erasing a customer takes them off the list |
Channels and analytics 3
| Feature | What it does | Proven by |
|---|---|---|
| Google Shopping and Meta feeds | One item per size or colour at /feeds/google.xml and /feeds/meta.xml, written from the catalogue on every fetch. | the google feed is rss in googles namespace with one item per size |
| Plausible or Google Analytics | Page views, product views, add to cart, checkout and each sale once — from the shop's own rows. | Analytics every page opened is a page view and a reserved domain sends nothing |
| Consent before tracking | Google Analytics loads nothing until the visitor accepts. Plausible sets no cookie and asks nothing. | Analytics the setup reaches the page as the browser needs it |
Making it yours 4
| Feature | What it does | Proven by |
|---|---|---|
| Eleven looks, five shells | Storefront, editorial, split, catalogue and marquee — every page ordinary source. | Vall a visitor orders a dress through the pages |
| Types of your own | entity Bike : Product for the fields every product of yours has. | a type of your own is a product to every page and carries its own fields |
| Add-ons | A kit that prices the basket and hears every order event — without forking the shop. | an add on hears the order placed paid and sent and a cancellation |
| Security declared once | Who may read an order or change stock is written on the data; every page obeys it. | staff may write the catalogue and a visitor may not |
Nothing matches. Try fewer words.