# POS counter-test pack Version 1.0.0 · 26 September 2026 · English. [Español](README-es.md) This pack contains synthetic data and calculated expectations. It is not a record of executed testing. No provider has passed it by appearing in a guide. All observed results, evidence references and durations are intentionally blank. The files are free to download; no signup is needed. Use the same small retail story in each proposed POS configuration. The target variant is **CT-MUG-CR-300**, a clearly labeled test café mug. Five other variants expose mapping mistakes: similar names, colors and sizes, a zero-stock combination, accented text and a quoted comma. Their stock stays unchanged during the core scenario. ## Files and order 1. Fill **run-context.csv** with the actual provider, country, plan, version, devices, roles, timezone, report cutoff and test-payment mode. Keep one completed copy per configuration. 2. Read **column-guide-en-es.md**. Map **sample-products.csv** into the provider's current template. It is a neutral dataset, not a universal upload format. Choose one display language; preserve both languages in the master. Treat IDs, SKUs and barcodes as text. 3. Initialize stock once from **opening-inventory.csv**. There are 6 variants and 12 variant-location rows. Opening available totals are A 28, B 5, combined 33. The target item alone opens at A 12, B 0. The navy M tee is zero at both stores. 4. Run the seven checkpoints below using **expected-inventory-ledger.csv**. Capture actual system IDs separately from the planned TEST references. If a provider uses different states, map the physical quantities and explain the difference. 5. Use **expected-transactions.csv** for the optional money reconciliation on the same sale and return. Do not import it as historical sales. Fill **reconciliation-worksheet.csv** from the original report and independently from the exported files. 6. Complete **demo-scorecard.csv**, or print **demo-scorecard.html**. Mark mandatory tasks before the demo and retain evidence with the quote. The printable file has English pages followed by Spanish pages. ## Set up an isolated, no-spend rehearsal Use an existing test account or a provider-led demo where these tasks incur no charges. Confirm the provider's approved test-tender/refund mode first. Do not use a live card, create a paid subscription, send an order to a real supplier or alter a production catalog for this exercise. If a needed test environment or feature requires payment, record NEEDS_CONFIRMATION and the quoted requirement. This pack does not require a purchase. Create TEST-A and TEST-B only in the isolated environment. Use TEST/PRUEBA item names and a test supplier. Do not connect inventory to a live online store. Keep original files untouched and adapt a working copy to the provider's template. Re-import the identifiers using explicit TEXT types; ordinary CSV quotes do not prevent spreadsheet auto-conversion. The numeric barcodes are internal synthetic test strings, not assigned retail GTINs. If the POS requires a valid registered barcode type, use its custom/internal barcode field or record the constraint. ## The 12-unit stock story Assume whole-unit selling, no reservations, no other stock movements, no supplier cancellation/replacement and no weighted/case conversions. Only CT-MUG-CR-300 changes. | Checkpoint | Available A | Available B | In transit | Damaged excluded | Supplier units still undelivered | |---|---:|---:|---:|---:|---:| | Opening | 12 | 0 | 0 | 0 | 0 | | Order 10 more; none received yet | 12 | 0 | 0 | 0 | 10 | | Seven arrive: accept 5, record 2 damaged | 17 | 0 | 0 | 2 | 3 | | Sell 3 at A | 14 | 0 | 0 | 2 | 3 | | Return 1 good unit to A, linked to the sale | 15 | 0 | 0 | 2 | 3 | | Dispatch 4 to B; do not receive yet | 11 | 0 | 4 | 2 | 3 | | Receive all 4 at B | 11 | 4 | 0 | 2 | 3 | Final target-stock equation: **12 + 5 − 3 + 1 = 15 good units**. Transfer changes location, not the final total. During transit only 11 are available to sell; the other 4 are travelling. Supplier accountability: **10 ordered = 5 accepted + 2 damaged + 3 undelivered**. Keep the damaged/rejected units out of sellable stock. Some platforms may leave a different commercial quantity open for replacement; record that mapping without counting it as newly available stock. Final all-catalog totals are A 27, B 9, combined 36, including the five untouched variants. ## Reconcile money without implying a payment test The supplemental example uses a synthetic USD price of 12.00 per unit, a 10% line discount and zero tax solely to isolate arithmetic. It makes no tax or country-eligibility assertion. There are no tips, fees, rounding adjustments, deposits, partial tenders or real card settlement. - Sale: 3 × 12.00 = 36.00 gross, minus 3.60 discount = 32.40 test tender. - Linked return: 1 × 12.00 minus its original 1.20 discount = 10.80 test refund. - Net sales and net test tender: 32.40 − 10.80 = 21.60. Net units sold: 2. Record the actual demo day and its timezone; do not use the pack publication date as an execution date. Export the same period and locations as the report. Count one sale and one return as well as checking totals, so a missing record cannot hide behind a plausible sum. Compare the actual system IDs and original-sale link. The sale's 10% discount must also be applied to the returned unit. If the provider cannot use these isolated assumptions, document the deviation and recalculate the expected values before marking any row. The worksheet's observed fields and differences are blank inputs, not automatic formulas. Compute report minus expected and export minus report only after entering both values. Zero is a real observation, not a substitute for missing data. Map return signs and report definitions before comparing them. The refund worksheet row uses a positive outflow of 10.80; the transaction file records that same outflow as −10.80. ## Decide with evidence Statuses: NOT_TESTED, PASS, NEEDS_CONFIRMATION, FAIL, NOT_REQUIRED. PASS means the task was demonstrated in the recorded configuration and the result checked. A vendor's spoken assurance alone is NEEDS_CONFIRMATION. Mark a capability NOT_REQUIRED only after deciding the business does not need it. Do not average mandatory failures away with optional successes. Save the quote, role/plan details, original exports, a field mapping, receipts or screen evidence, and explanations of discrepancies. Retain the last export and readable archive before ending an evaluation. This pack does not prove fiscal compliance, physical hardware compatibility, processor integration, support quality, scale, offline reliability or migration of customer obligations. Add a separate requirement-specific test if any of those determine your decision. ## Source and integrity notes The stock story extends [POS Review's inventory guide](https://pos-review.com/blog/pos-inventory-comparison/); identifier and export checks extend [POSFind's export guide](https://posfind.com/blog/pos-data-export-checklist/) and [demo scorecard](https://posfind.com/demo-scorecard/). [Shopify's CSV documentation](https://help.shopify.com/en/manual/products/import-export/using-csv) and [Square's import documentation](https://squareup.com/help/us/en/article/5153-import-items-online) support using the exact provider template and mapping product/variant/location fields. Sources and review dates are in **sources.json**. POSFind, POS Review, FreePOS USA and VoVi share ownership through VOVI POS, INC. Their links connect related resources and are not independent endorsements. All sample products, identifiers, prices, costs and calculations were authored for this pack. Provider documentation establishes published workflow details, not completed tests. **manifest.json** contains SHA-256 hashes for the downloadable payload files, excluding itself. The ZIP contains those files and that manifest. Its ZIP hash is listed separately in the integration handoff because a package cannot contain its own final hash. Compare hashes before adapting a working copy. The immutable original distinguishes later observations from these synthetic expectations.