Enter your username or email address. A reset link will be sent if the account exists.
Enter your new password below.
Choose the store to operate on. Everything (products, deliveries, invoices) uses this store. You can switch any time.
You must set a strong password before you can continue.
Remove ? Their account will be deleted immediately.
| Time | SKU | Product | Before | Change | After | Reason | By |
|---|
| Time | SKU | Product | Qty | Order | Cashier |
|---|
| Date | Time | SKU | Product | Change | Type | ekassa User | Action |
|---|
Already auto-repaired to ekassa's number (the physical POS) at the time it was caught โ shown here only because the gap was large enough to be worth a glance, not because anything still needs fixing. A SKU appearing here repeatedly usually means its own sync is failing, not that this one delivery was unlucky.
| Detected | SKU | Product | ekassa | Woo (before repair) | Gap | Action |
|---|
This product has unsaved changes. What would you like to do?
| SKU | Name | Has | Missing | Status | Stock |
|---|
| SKU | Name | Deleted | By |
|---|
| ID | Name | SKU | Product barcode | Category | Stock | Vel/wk | Weeks | BBD | Woo โฌ | ekassa โฌ | Buy price | Carton size | Label | Sugar | Tax cat | Tetra | Net vol | Drink tax | Last Audited |
|---|
Replaces each selected product's categories with exactly the ones checked here, for all languages (FI/EN/SV) โ matched to each language's own version automatically. Anything checked and not currently on a product is added; anything NOT checked is removed from it.
This SKU exists only in 's POS (ekassa) โ not in WooCommerce. Saving here writes straight to ekassa; nothing is created in Woo.
| Date | Starting | Delta | After | Delivery / invoice |
|---|
| Date | # | Store | Invoice | Items | Progress | Status | ||
|---|---|---|---|---|---|---|---|---|
| No expected deliveries. | ||||||||
| Date | # | Store | File | Status | Audit started | Completed | Actions |
|---|
| Deleted | # | Store | File | Reason | By | Actions |
|---|---|---|---|---|---|---|
| Loadingโฆ | ||||||
| SKU | Product | Category | Cartons | Pcs/Carton | Netto | Added Qty | Current stock | Cost (old โ new ยท ฮ%) | Woo โฌ ยท margin | ekassa โฌ ยท margin | BBD | Status / Notes |
|---|
| Deleted | # | Store | File | Reason | By | Actions |
|---|---|---|---|---|---|---|
| Loadingโฆ | ||||||
Loadingโฆ
Loadingโฆ
Loadingโฆ
These products are on this delivery but are missing data โ soft-drink volume/tax, or a barcode. Fill it in and click Save, or complete the audit anyway and fix it later.
| SKU | Product | Stock before | Expected | Arrived (ctn) | Added | Stock after | Old price | New price | ๐ท | Label | Product Barcode | Carton Barcode | Status | Adjust |
|---|
Choose how to apply this delivery, then confirm.
Invoice not confirmed
What do you want to do with this invoice?
This will move the invoice file to the new month's folder.
Moves the invoice/delivery pair to Trash (file & data kept; restore or permanently delete later).
โน Deleting only removes this invoice/delivery record. Stock is not changed. To reverse a stock increase, use the delivery's โฉ Revert stock action instead.
Saved for this product โ applies automatically to future invoices.
| SKU | Product | Stock before | Added | Stock after | Old cost | New cost | Change |
|---|
Carton size is saved globally โ one value per SKU, used for both stores.
Read-only โ no row data, no editing. Only 4 of these tables declare a real foreign
key (marked FK below); everything else shown as
"related" is inferred from a shared column name (e.g. every table with a
sku or draft_id column), not a real constraint.
SELECT only โ enforced by opening the database in SQLite's own read-only mode, not just by checking your query text, so nothing here can write no matter how it's phrased. Results capped at 500 rows.
What is this upload?
Rename an existing product's SKU โ or leave Existing empty to create a new draft product. Updates WooCommerce (FI+EN+SV) and creates the product in ekassa if it's missing there.
(COG & price รN) and links them as an auto-split pair (default 50 % pack / 50 % single).
The COG/price above are per single piece.
| Field | Current | New | |
|---|---|---|---|
| Cost (COG) | |||
| Woo regular price | |||
| Woo sale price | |||
| ekassa price (sell, incl VAT) | โฆ | ||
| ekassa discount (sale, incl VAT) | โฆ |
| Slug | Name | SLW term | ekassa POS | History | Status |
|---|
wc_config.json and its
own SLW location term in WooCommerce โ neither is created from here.
| Code | Name |
|---|
| Name | Paper (WรH mm) | Label (WรH mm) | Inner margin T/R/B/L (mm) | Grid |
|---|
Record supplier article codes that are the same product under different codes
โ e.g. AEF224654-3 + AEF224648-3 (same item, different case
pack) โ the combined SKU AEF224654-3AEF224648-3. This does not rename
anything in WooCommerce/ekassa by itself โ do that first via ๐ง Fix in Woo/ekassa, then
record the link here. Give each code its own carton size (pcs/ctn) if they ship
differently โ saved per code, so invoice parsing picks the right one for whichever
code appears on a given invoice.
| Tokens (carton size) | โ Combined SKU | Note |
|---|
Link SKUs that are the same product in different pack sizes โ e.g.
AEF7465-5 (single) and AEF7465-50 (5-pack).
Each keeps its own stock; the order generator shows combined demand in base units.
| SKUs (pack size) | Note |
|---|
Map a supplier invoice code onto an existing combined SKU โ for a second
same-supplier code in a merged product (e.g. DV8010-01 โ
DV8010DV8010-01) that the matcher won't link on its own. The target SKU
must already exist in the store's catalog.
| Code | โ Target SKU | Note |
|---|
| Username | Name | Store | Role | Status | Actions |
|---|
Browse every table this app uses โ columns, row counts, and how tables relate to each other. Read-only (no row data, no editing).