Back to projects
POS · Grocery Private repository

POS for Grocery Stores

POS and management for grocery stores and markets in Peru: multi-business, with roles and permissions.

Type
Multi-business SaaS
Database
PostgreSQL
Data models
42 models in PostgreSQL

What it solves

A grocery store needs to sell fast while knowing its stock, who it lends to and how much it earns. This system brings the point of sale, inventory with kardex, purchasing, cash and credit into a single platform that serves multiple businesses.

Key features

  • Point of sale with multiple payment methods and per-session cash control.
  • Inventory with kardex, batches, transfers between branches and inventory audits.
  • Purchasing and suppliers, with payments and expenses.
  • Customer credit (store credit) with its payments.
  • Finance: financial accounts and movements.
  • Electronic invoices with document series.
  • Sample catalog of Peruvian products to get started faster.

Architecture and technical decisions

  • Multi-business: every record belongs to a businessId taken from the JWT, so nobody sees another business's data.
  • Per-business roles and permissions shaped as module.action, checked by a PermissionsGuard.
  • Plans that limit products, branches and active users per store.
  • NestJS 11 on Fastify, Prisma 7 and PostgreSQL 16; Redis 7 for queues with BullMQ.
  • Dates and cash closings use the America/Lima timezone; migrations with prisma migrate deploy.
  • CI with GitHub Actions and Docker Compose deployment; Angular frontend with Tailwind 4.

Need something similar?

Tell me about your case and let's see how to solve it.

Next projectVeterinary Clinic SaaSSaaS · Veterinary