Skip to content

Changelog

Changelog

Every release of RKCoders POS, newest first.

We follow semantic versioning. Anything that changes how your existing data behaves is called out explicitly.

1.0.0

Current release Released

The first public release. A complete Windows point of sale with inventory, customers, shifts, reporting and ZATCA e-invoicing, in English and Arabic.

Added

  • Point of sale with two layouts: a touch-friendly Visual tile grid and a keyboard-driven Standard list.
  • Checkout supporting barcode scanning, SKU entry, product search, line and ticket discounts, split payments across tenders, held tickets, and line or bill voids with a mandatory reason.
  • Product catalogue with nested categories, multiple SKUs and barcodes per product, weighed items, per-product tax rates and images.
  • Bulk product import and export via Excel or CSV, with a downloadable template and a per-row results report.
  • Stock screen showing on-hand quantity and cost value, with adjustments recorded against a reason of purchase, count or adjustment.
  • Customers and suppliers with contact details, notes, credit limit, VAT number, commercial registration number and address.
  • Documents screen listing every sale, filterable by type, status and ZATCA state, with a detail view for lines, payments, printing, PDF export and signed XML download.
  • Audit log recording every bill and line void with its reason and the user responsible.
  • Shifts with a counted opening float, cash in and cash out movements, a denomination-by-denomination close showing the variance, and an end-of-day close across all shifts.
  • Dashboard with today against yesterday, ticket count, average ticket, VAT collected, a seven-day trend, hourly sales, payment mix, top products, categories and cashiers, and low-stock alerts.
  • Reports for date-range sales, stock valuation, and the full shift and end-of-day history, all printable.
  • Promotions by percentage or fixed amount, targeting a product, a category or both, with an active switch.
  • User accounts with a PIN or password, a display name, an active flag, and per-screen permissions across all ten screens.
  • ZATCA Phase 1: a TLV QR code with tags 1 to 5 on every completed sale, and automatic selection between standard and simplified tax invoices based on the customer VAT number.
  • ZATCA Phase 2 as a licensed module: a six-step onboarding wizard, CSR generation, compliance and production CSID, signed UBL 2.1 XML, extended QR tags 6 to 9, clearance of standard invoices, reporting of simplified invoices, and a retry outbox.
  • Sandbox, simulation and production environments for ZATCA Phase 2.
  • Device-bound licensing with a 14-day trial that starts on first launch, signed licence keys, .rklic file import, and separate Core, ZATCA Phase 2 and Loyalty modules.
  • Receipt printing to any Windows printer at 58 mm, 80 mm or A4, with silent printing, automatic printing after payment, copies, font size, a logo toggle and a test print.
  • Configurable weighing-scale barcode rules for selling items by weight from scale-printed labels.
  • English and Arabic interface with full right-to-left layout, seven themes, and interface zoom from 80% to 150%.
  • One-time setup wizard offering demo data or an empty store, with a store name and an administrator PIN.
  • Database backup, health check and optimise tools, plus a crash log with stack traces and filtering.
  • In-app update check: the till notifies you when a new version is published, and installs it only when you click Update.

Security

  • Licence keys are signed and verified on the device, and are bound to a Device ID derived from Windows.
  • The system clock is checked for backward movement, and expiry falls back to the last trusted time if it is suspect.
  • ZATCA signing keys are generated on the till and the private key never leaves the machine.

Known limitations

  • The Loyalty module is licensed but its screen is a placeholder; points, tiers and redemption are not implemented yet.
  • The Cash drawer button shows an on-screen prompt and does not send an open pulse to a printer-connected drawer.
  • There is no customer-facing display or second-screen output.
  • Live weight capture from a serial or network scale is not supported; scale-printed barcode labels are the supported route.
  • Each installation keeps its own database. There is no live catalogue or sales synchronisation between tills.
  • There is no purchase order workflow; incoming stock is entered as Purchase adjustments.
  • The Windows installer is not code-signed, so SmartScreen shows a warning on first run.