Skip to main content
Implemented profile

POS / Retail testing profile

Category: POS / Retail SaaS · Profile version 1.0 · Validated on: Dukaan AI

Status. Implemented and validated on a live product (Dukaan AI).

What this profile requires

A module counts as covered only when the installation actually exposes it (Phase 3 discovery). Plan-gated modules (Manufacturing, Staff, Online Store, Loans on the Free Trial) are expected to be present but gated — gating behaviour itself is a SaaS-pack case (Section 23.1), not a coverage failure.

A product in this category is checked against 29 modules. A module counts as covered only when the installation actually exposes it; a module discovery cannot see is recorded as a gap to review — behind authentication, nested inside another module, plan-gated or not enabled — never automatically as a product defect.

Required modules (29)

ModuleModule (Urdu)Notes
Dashboardڈیش بورڈ—
Salesفروخت—
Billing / POSبلنگ / پی او ایس—
Quotationsکوٹیشنز—
Sales Ordersسیل آرڈرزDiscovered route slug is 'sale-orders' (singular) while the walkthrough name is 'Sales Orders'; matched by explicit alias in matchSlugs.
Delivery Challansڈیلیوری چالان—
Purchase Ordersپرچیز آرڈرز—
Inventory / Stockانوینٹری / اسٹاکThe discovered 'forecast' feature (demand forecast) is a sub-feature of Inventory and is matched under this module.
Warehousesگودام—
Stock Transfersاسٹاک ٹرانسفر—
Manufacturing (plan-gated)مینوفیکچرنگ—
Day Closeڈے کلوزHistorical note (Oct 2026 owner walkthrough): Day Close was the only module that failed to load in every attempt at that time ('This page couldn't load'). Recorded as history only — NOT a current verified defect; the route was discovered (HTTP 200 shell) in Phase 3.
Returns / Exchangesواپسی / تبادلہNo top-level 'returns' route was discovered in the Phase 3 crawl. Returns may be nested inside Sales/Billing or reachable only through authenticated navigation; from the public surface this is unverifiable. Recorded as a coverage GAP TO REVIEW (Section 22: a gap is not automatically a product defect).
Reportsرپورٹس—
Financeفنانس—
Expensesاخراجات—
Credit / Udhaarادھار—
Suppliersسپلائرز—
Customersگاہک—
Staff (plan-gated)عملہ—
Online Store (plan-gated)آن لائن اسٹور—
Loans (plan-gated)قرضے—
Chequesچیک—
Notesنوٹس—
Jobsجابز—
Loyaltyلائلٹی—
WhatsApp Marketingواٹس ایپ مارکیٹنگ—
AI Assistantاے آئی اسسٹنٹ—
Settingsترتیبات—

Critical journeys (4)

A journey is the smallest unit a product owner feels end to end. These are the journeys this profile treats as critical; each is linked to test cases, or states plainly why it cannot execute yet.

  • Login → Billing → bill print/share — cases: JRN-POS-01, GEN-WEB-BILLING — Blocked: no TEST-QA credentials are configured in the platform secret store, so no authenticated case may execute (Sections 14/31). The journey skeleton is PROPOSED and requires owner approval plus credentials.
  • Quotation → Sales Order → Delivery Challan → Bill — cases: JRN-POS-02, GEN-WEB-QUOTATIONS, GEN-WEB-SALE-ORDERS, GEN-WEB-DELIVERY-CHALLANS, GEN-WEB-BILLING — Blocked: no TEST-QA credentials are configured in the platform secret store, so no authenticated case may execute (Sections 14/31). The journey skeleton is PROPOSED and requires owner approval plus credentials.
  • Purchase Order → stock-in → inventory reflects — cases: JRN-POS-03, GEN-WEB-PURCHASE-ORDERS, GEN-WEB-INVENTORY — Blocked: no TEST-QA credentials are configured in the platform secret store, so no authenticated case may execute (Sections 14/31). The journey skeleton is PROPOSED and requires owner approval plus credentials.
  • Sale → stock decreases → Day Close totals reconcile — cases: JRN-POS-04, GEN-WEB-SALES, GEN-WEB-INVENTORY, GEN-WEB-DAY-CLOSE — Blocked: no TEST-QA credentials are configured in the platform secret store, so no authenticated case may execute (Sections 14/31). The journey skeleton is PROPOSED and requires owner approval plus credentials.

Proposed business invariants (5)

Invariants are the arithmetic rules a product in this category must never break. In MC Testing they are platform proposals (status PROPOSED) seeded from standard practice for the category, each carrying a source note; they bind a product only after its owner approves them, and they are never presented as the product's own documented rules.

  • Trial balance: total debits equal total credits for every period.
    Platform proposal from standard POS/accounting practice — not yet confirmed against Dukaan's documented rules (Section 17: PROPOSED until owner-approved).
  • Bill total = Σ line amounts − discount + tax, on every generated bill.
    Platform proposal from standard POS/accounting practice — not yet confirmed against Dukaan's documented rules (Section 17: PROPOSED until owner-approved).
  • Stock after a sale = stock before − quantity sold (per SKU, per warehouse).
    Platform proposal from standard POS/accounting practice — not yet confirmed against Dukaan's documented rules (Section 17: PROPOSED until owner-approved).
  • Day Close total = Σ of that day's bills (net of returns and discounts).
    Platform proposal from standard POS/accounting practice — not yet confirmed against Dukaan's documented rules (Section 17: PROPOSED until owner-approved).
  • A completed return restores the returned quantity to stock and reverses the sale amount.
    Platform proposal from standard POS/accounting practice — not yet confirmed against Dukaan's documented rules (Section 17: PROPOSED until owner-approved).

Readiness gates

Category weights (proposed, stored with every score snapshot): Functional correctness 25% · Business logic & data integrity 20% · Security 20% · Integration & reliability 10% · UI/UX & accessibility 10% · Performance 10% · Deployment & operational 5%.

  • No open P0 finding (including any confirmed public data exposure).
  • Billing critical journey PASS on the TEST-QA account.
  • Day-close reconciliation invariant holds on TEST-QA data (after owner approval of the invariant).
  • Public-surface suites (smoke, visual, a11y, security) executed with zero unexplained FAILs.

Platform proposal seeded from the Section 25 defaults — owner approval pending. These thresholds are NOT Dukaan's documented release rules (none are published); they take effect only when the owner approves them.

Release blockers

  • Any confirmed public data exposure (P0, Section 18.1).
  • Any open critical security finding.
  • Billing journey (JRN-POS-01) failing on the TEST-QA account.
  • A PROPOSED business invariant found violated on TEST-QA data after owner approval of that invariant.

Security requirements

  • No confirmed public data exposure (Section 18.1 leak sweep clean) — a confirmed exposure is a P0 release blocker.
  • Tenant isolation: one shop's data must never be visible to another shop (verified on the TEST-QA account once credentials exist).
  • Security headers present on public pages (HSTS, CSP, nosniff, clickjacking protection) — Section 29.
  • Authentication boundaries hold: every non-public route redirects to /login when unauthenticated (Phase 3 verified 29/31 routes).

Required evidence

  • Per-case step results with screenshots on failure (browser/visual cases).
  • Redacted API snapshots for API cases (no secret values in evidence).
  • Leak-sweep probe table (JSON) per security run.
  • Lighthouse metrics per profile (standard and low-end reported separately).

Cross-cutting packs on this profile

PackStatusWhy
saas-billingAttachedDukaan AI is a multi-shop SaaS with signup, a Free Trial and plan-gated modules (Manufacturing, Staff, Online Store, Loans) — all observed in Oct 2026 and Phase 3. Quota values and trial-expiry behaviour are NOT documented anywhere available to the platform, so those cases carry NEEDS REVIEW notes (Section 23.1).
bilingual-rtlAttachedThe product is Urdu-first (Urdu is the server-rendered default; English, Pashto-draft and Persian-draft also offered). The pack's public part (default language, switching, font) is executable now (BI-DUK-01..03); authenticated depth is PROPOSED.
import-exportAttachedInventory/customer import-export is core POS surface. All pack cases are authenticated, so they are defined as PROPOSED + requires_credentials and never executed in this phase.
pakistan-paymentsNeeds reviewNOT APPLICABLE-UNKNOWN: whether Dukaan AI offers JazzCash/EasyPaisa collection (for subscriptions or shop-level payments) is undocumented in every source available to the platform (discovery, walkthrough, public pages). The pack is neither assumed present nor assumed absent — it stays NEEDS REVIEW until product documentation or an authenticated inspection settles it.
POS / Retail Testing Profile — validated on Dukaan AI | MC Testing