Commerce
The catalogue and everything that happens after somebody wants something from it.
How it fits together
A variation carries the SKU, the price and the stock. A document line points at that variation rather than repeating it, which is why the part number on an invoice is the same part number the warehouse scans and the accountant posts.
Everything is per organization and multi-currency throughout. A document records the currency it was made in and the rate it used, so a report about last quarter still reads correctly next year.
The catalogue is content
Products are content types with fields, categories and listings. Anything you can do with an article — translate it, tag it, put it in a feed, filter a listing by it, give it a layout — you can do with a product, because there is no separate catalogue engine.
The checkout
The checkout is a configured flow of steps and panes (sign-in, contact information, shipping, payment, review, completion); each firm arranges its own in the back office. Two details of the contact pane worth knowing:
- Country is a list, not a text box. The visitor picks from the countries the platform's Countries register marks active, and the order stores the ISO code — the same list and the same code the partner address field validates against. The register ships with every ISO 3166-1 country; switch off the ones you do not sell to, and the checkout stops offering them. A customer record that still holds a country name from before this rule pre-selects the matching entry.
- The review names what is already agreed. A signed-in customer who accepted the current version of a required agreement earlier is not asked again, and the review reads "accepted earlier" for it rather than a blank — a blank would look like a blocked order.
A signed-in customer's typed address is remembered on their contact, so the next checkout shows it instead of asking and the invoice carries it — including a contact that holds only the flat street, postal code, city and country fields (the web shop's shape): those render as the billing address on every document.