Guide

Running a shop.

Products, variants, subscriptions, discount codes, orders and their invoices — and what Google and AI assistants read from them. This guide goes from the first product to the first sale, then to the day-to-day.

1. Opening the shop

Everything that applies to the whole shop is set once, in Shop › Settings and Shop › Payment methods.

  1. Online shop active: while it is unticked, product pages, the cart and checkout stay closed to the public.
  2. Currency, VAT and prices: VAT rates form a list (Shop › Billing › Invoicing settings); each product picks one. Prices are shown including or excluding VAT, as you choose. The French VAT exemption (art. 293 B) is supported too.
  3. Shipping: zones (countries, price incl. VAT) and a free-shipping threshold. Shipping is calculated at the details step, with its share of VAT.
  4. Returns: the number of days, if any. It is passed on in the data Google reads.
  5. Show the cart: an icon in the site menu, for every menu at once.
  6. Stripe: the publishable key, the secret key and the webhook secret, in Payment methods. The webhook points to https://your-site/shop/webhook/stripe/.

2. The product

A product is a piece of content — a record — plus its commercial side: price, VAT, stock, reference. They are created in this order.

Product type « Workshop » — what the sale triggers
└─ Record model the fields: duration, level, image…
└─ Template the page designed once for every record
└─ Record « Woodworking workshop » — the content, its address
└─ Product price, VAT, stock, reference WORKSHOP-01

  1. Five kinds of type: physical product (shipped), online course (opens access to the course), questionnaire, appointments or credits, service.
  2. The price is entered excluding or including VAT; the price entered including VAT is the one charged, to the cent.
  3. Stock is tracked or not. A tracked product that is sold out can no longer be bought; the customer can ask to be told when it is back.
  4. Categories, related products, brand and GTIN feed the shop filters, the « You may also like » block and Google Shopping.
  5. Metadata and the main image are set on the record: they are what Google and social media previews read.
  6. A product grid is placed on a page with the « Resource grid » block: it keeps itself up to date, with filters and sorting.

3. Variants

A size, a colour, a plan: each variant has its own reference, its stock and, if needed, its price. The product page shows a single selector.

  1. One record for every variant: one piece of content to maintain, and customer reviews that count for all of them.
  2. Each variant has its own address: /shop/…/REF/?declinaison=REF-RED opens the product page with that variant selected. It is the address given to Google, which checks that the page shows the advertised price.
  3. A sold-out variant stays visible, greyed out, with the back-in-stock alert.

4. Subscriptions and free trials

A product can be charged every month or every year. Payment happens on Stripe's page, and Stripe is the source of truth.

Product « Licence — 1 site »
├─ Variant Monthly €9 subscription: month
└─ Variant Yearly €90 subscription: year
Free trial 30 days, one per account, card required

  1. Monthly and yearly on the same product: one variant per billing period, each with its price.
  2. The free trial is set in days on the product. Nothing is charged before it ends; one trial per account.
  3. Each payment becomes a paid order, with its invoice. A failed payment is retried by Stripe; the customer changes their card from their account.
  4. The customer manages everything from their account — card, invoices, cancellation — through Stripe's customer portal, to be enabled at Stripe.
  5. At Stripe, the webhook must send: checkout.session.completed, customer.subscription.*, invoice.paid, invoice.payment_failed.
  6. A €0 product — a trial without a card, a sample — is ordered without payment: the customer creates their account and confirms.
  7. A subscription is ordered on its own, without a discount code or shipping.

5. Discount codes

Shop › Discount codes. The customer enters the code in their cart; the discount shows before payment.

  1. Three kinds of discount: a percentage, a fixed amount including VAT, or free shipping.
  2. Conditions: start and end dates, minimum cart amount, the products or product types concerned.
  3. Limits: a total number of uses and a number per customer. For a « first 50 » offer, an order being paid reserves its use for thirty minutes: two customers cannot take the last one at the same time.
  4. Not on a subscription or a free product: subscriptions are paid on Stripe's page, without a code.

6. Orders

The customer goes through three screens: the cart, their details — an account is created at this step if they have none —, then payment. The amount paid is the one on the summary, recalculated at the last moment.

  1. Shop › Orders: each order, its lines, its payment and its status — processing, shipped (with carrier and tracking number, sent to the customer), completed.
  2. « Mark as paid » settles an order paid offline (bank transfer, cheque) like a card payment: access opened, stock decremented, confirmation sent.
  3. Refund all or part, through Stripe or offline, from the order page: the credit note is issued, the stock restored, the customer notified.
  4. Sales: the sales dashboard for the period.
  5. Follow-ups go out on their own: abandoned cart, back in stock, wishlist.
  6. Customer reviews are moderated in Shop › Customer reviews; only published reviews count towards the rating.

7. Invoicing

Shop › Billing. A paid order gets its invoice; quotes and invoices outside the shop are made by hand, in the same number sequence.

Quote DEV2026-0001 → accepted online by the customer
Invoice FAC2026-0001 → deposit, then balance
Credit note AV2026-0001 → corrects an issued invoice

  1. Gap-free numbering, configurable: prefix, year, month. One sequence for invoices (shop included), one for quotes, one for credit notes.
  2. An issued invoice can no longer be changed: it is corrected with a credit note, then a new invoice.
  3. The customer's link, no account needed: they read the quote, click « I accept », and pay the invoice by card.
  4. Sending by email with the PDF, and reminders for unpaid invoices, which can be switched off.
  5. CSV export for your accountant: the documents and payments for a period.
  6. Your invoicing identity — company name, address, SIRET, VAT number, legal notes — is set once, in Invoicing settings.

8. Google and AI assistants

A shop also sells in Google results, in Google Shopping and in the answers of AI assistants. Everything they read is produced automatically from your products — nothing to write by hand.

  1. On each product page, structured data (JSON-LD): name, description, image, brand, price, availability, variants, subscription, rating and reviews, shipping and returns.
  2. The Google Shopping feed: https://your-site/shop/flux/google.xml — for jeiko.fr, https://jeiko.fr/shop/flux/google.xml. One line per product or per variant, with its address, its image and, for a subscription, its cost per month or per year. A free product is left out: Google rejects a zero price.
  3. The catalogue for assistants: /shop/catalogue.json, and the shop section of /llms.txt.
  4. The sitemap (/sitemap.xml) lists every published product page.

Submitting the feed to Google Merchant Center

  1. Create an account at merchants.google.com and get your site verified: the simplest way is through Google Search Console, with a domain property (a DNS record at your registrar).
  2. Products › Add products › Add a product feed, as a « scheduled fetch »: paste the feed address, one fetch per day.
  3. Set up shipping (« none » for a service or a digital product) and the account's return policy.
  4. Every product needs an image of at least 100 × 100 pixels — the main image of its record. Without it, Google rejects the item.

9. The API, and what the shop does not do

  1. Through the API and the Claude connector, an agent creates and maintains products, variants, discount codes, orders (status, shipping), quotes and invoices, and reads sales.
  2. Left to the site owner, by design: refunding and marking as paid — actions that move money.
  3. VAT by the buyer's country (EU One-Stop Shop, distance sales above €10,000) is not handled: one rate per product.
  4. A variant's label is the same in every language of the site; the record itself is translated.

The online storePayments