Shop Management System icon

Shop Management System

Go to Website
Hot or Not
Shop Management System

Description

Shop Management & Billing System: Multi-Shop SaaS in PHP/MySQL

A complete billing and shop management platform for small and medium retail and service businesses. One installation serves many shops. A Super Admin controls every shop and subscription, and each shop works inside its own isolated workspace.

It is built in plain PHP with PDO/MySQL and has no framework or Composer dependencies, so it is easy to host, read and customize.

Highlights

  • Multi-shop (SaaS) architecture with a store-code login for each shop
  • Super Admin panel to create, activate, disable and renew shops
  • Free and Premium themes with per-shop feature toggles
  • Billing with VAT support, discounts, printable invoices and receipts
  • Credit (udhar) ledger, purchases and supplier accounts
  • Built-in accounting reports and audit tools

Super Admin Panel

  • Dashboard with shop counts, sales today, 7 days, 30 days and lifetime, and a sales chart
  • Create and manage shops, with activation start and end dates
  • Enable or disable features per shop: credit, notifications, settings, recent transactions, purchases, accounting and products
  • Switch shops between Free and Premium themes
  • Renewal, reactivation and premium-upgrade request handling
  • Broadcast or targeted notifications to shops
  • Global maintenance mode
  • Audit log of administrator actions
  • Upload login, dashboard and bill screenshots for each shop

Shop Features

  • Billing: multiple line items, percentage or fixed discounts, and payment by cash, online or credit
  • VAT billing: configurable VAT rate (13% default), VAT and PAN numbers, a separate VAT bills view, and print and export
  • Customers: customer accounts keyed by bike or vehicle number for workshops, or by mobile number for other shops
  • Credit ledger: charges, payments, settlement, due statements and receipts
  • Purchases: supplier purchases, supplier credit accounts and purchase charts
  • Products and services: a catalog with live search while creating bills (Premium)
  • Accounting (Premium): balance sheet, cash flow, ledger summary, income and expense entries, and an audit center with PDF download
  • Analytics and reports: sales overview and reports
  • Notifications: an in-app inbox with unread tracking
  • Settings: shop profile, logo, invoice prefix and footer, VAT settings and password change

Shop Types Supported

Bike shop, workshop, kirana (grocery), cloth shop and mobile shop.

Security Basics Included

  • Passwords stored with bcrypt
  • Prepared statements (PDO) for database queries
  • Session hardening: HttpOnly cookies, session ID regeneration and idle and absolute timeouts
  • Login rate limiting
  • CSRF tokens on key forms
  • Validated image uploads
  • Role separation between Super Admin and shop users

Requirements

  • PHP 8.0 or higher with PDO MySQL
  • MySQL 5.7+ or MariaDB 10.4+
  • Apache with mod_rewrite enabled (a .htaccess file is included)
  • Works on XAMPP or WAMP locally, and on shared hosting or a VPS

Installation

  1. Upload the files to your server or htdocs.
  2. Create a database named digital_shop and import database/digital_shop.sql.
  3. Run the SQL files in migrations/ in date order.
  4. Set your database credentials in config.php.
  5. Create the Super Admin account with the included CLI script (auth/seed_super.php).
  6. Log in through auth/index.php.

What’s Included

  • Full source code
  • Database schema and migration files
  • Ready-made styles and UI scripts, including a bundled chart library

Notes

  • Replace the demo data in the SQL file before going live.
  • Always review and test any software before using it with real business data.

Features

Multi-Shop (SaaS) System

  • One installation serving unlimited shops
  • Store-code login for each shop
  • Separate Super Admin and Shop Admin roles
  • Data isolated per shop
  • Shop activation start and end dates
  • Automatic expiry page for inactive shops
  • Renewal request system for shops

Super Admin Panel

  • Dashboard with total shops, active and disabled counts, and Free and Premium counts
  • Sales statistics for today, 7 days, 30 days and lifetime
  • Sales chart for the last 7 to 90 days
  • Create, edit, activate and disable shops
  • Switch shops between Free and Premium themes
  • Per-shop feature toggles: credit, notifications, settings, recent transactions, purchases, accounting and products
  • Renewal, reactivation and premium-upgrade request handling
  • Broadcast or shop-specific notifications
  • Global maintenance mode
  • Audit log of administrator actions
  • Upload login, dashboard and bill screenshots for each shop

Billing

  • Multiple line items per bill
  • Percentage or fixed discount
  • Payment types: cash, online and credit
  • Printable bills and receipts
  • Printable due statements
  • All bills list with search, filters and pagination
  • Bill export
  • Automatic bill numbering

VAT and Tax

  • Optional VAT bills
  • Configurable VAT rate (13% by default)
  • VAT and PAN number support
  • Separate VAT bills view

Customers and Credit Ledger

  • Customer accounts per shop
  • Vehicle number for bike shops and workshops, mobile number for other shops
  • Credit charges and payments
  • Due settlement
  • Credit center overview
  • Payment receipts

Purchases and Suppliers

  • Record supplier purchases
  • Payment methods: cash, online and credit
  • Supplier credit accounts
  • Supplier ledger with charges and payments
  • Printable purchase records
  • Purchase charts

Products and Services (Premium)

  • Product and service catalog
  • Active and inactive toggle
  • Live search when adding bill items

Accounting (Premium)

  • Balance sheet
  • Cash flow report
  • Ledger summary
  • Manual income and expense entries
  • Audit center with bill lookup
  • Audit PDF download

Reports and Analytics

  • Sales analytics
  • Business reports
  • Dashboard overview with recent transactions

Notifications

  • In-app notification inbox
  • Read and unread tracking
  • Live notification fetching

Shop Settings

  • Shop profile: name, type, address, phone and email
  • Logo upload
  • Invoice prefix and footer text
  • VAT and PAN settings
  • Password change

Supported Shop Types

  • Bike shop
  • Workshop
  • Kirana (grocery)
  • Cloth shop
  • Mobile shop

Design

  • Free and Premium themes
  • Responsive layout
  • Dark login screen
  • Charts powered by the bundled Chart.js

Security

  • Passwords hashed with bcrypt
  • Prepared statements (PDO)
  • HttpOnly session cookies with session ID regeneration
  • Idle and absolute session timeouts
  • Login rate limiting
  • CSRF protection on key forms
  • Validated image uploads
  • CLI-only Super Admin creation

Technical

  • Plain PHP with no framework or Composer
  • MySQL or MariaDB database
  • Apache .htaccess URL routing
  • SQL schema and migration files included
  • Timezone set to Asia/Kathmandu (changeable)
  • Works on XAMPP, WAMP, shared hosting or a VPS

Requirements

Server

  • Apache 2.4 with mod_rewrite enabled and AllowOverride All, because the included .htaccess handles URL routing
  • Works on XAMPP or WAMP locally, and on shared hosting, cPanel or a VPS

PHP

  • PHP 8.0 or higher (PHP 8.2 recommended)
  • pdo_mysql extension
  • mbstring extension
  • gd extension (optional, used to resize uploaded shop logos)
  • json, session and fileinfo (enabled by default in standard PHP builds)
  • file_uploads enabled for logo and screenshot uploads

Database

  • MySQL 5.7+ or MariaDB 10.4+ with InnoDB and utf8mb4 support
  • MariaDB 10.4+ or MySQL 8.0+ is recommended for running the migration files without errors

Browser (for users)

  • Any modern browser: Chrome, Edge, Firefox or Safari
  • Internet access for the CDN-loaded Tailwind CSS and Google Fonts (the chart library is bundled locally)

Folder permissions

  • ###licode###storage/uploads/ folder must be writable by the web server

Setup

  • Create a database named digital_shop, or any name you set in config.php
  • Import database/digital_shop.sql, then run the files in migrations/ in date order
  • Update the database host, name, user and password in config.php
  • Create the Super Admin from the command line with auth/seed_super.php, which needs shell access (CLI) and a bootstrap token set as an environment variable
  • Use HTTPS in production so that the secure session cookie flag takes effect

Instructions

1. Prepare the files

  1. Unzip the package. The application is inside the billing software folder.
  2. Rename that folder to something without a space, such as billing.
  3. Upload it to your server’s web root (htdocs or public_html), or into a subfolder.

2. Create the database

  1. Open phpMyAdmin or your MySQL client.
  2. Create a database named digital_shop with the utf8mb4_general_ci collation.
  3. Import database/digital_shop.sql.
  4. Open the migrations/ folder and run these files in this order:
    • 20250928_add_purchases.sql
    • 20250929_purchase_payment_and_ledger.sql
    • 20261010_super_admin_upgrade.sql
    • 20261011_premium_ui.sql
    The migrations are written to be safe to run more than once. They create the audit log, products and accounting tables that the main SQL file does not include.

3. Configure the database connection

Open config.php and edit the first four lines:

php

$db_host = '127.0.0.1';
$db_name = 'digital_shop';
$db_user = 'your_db_user';
$db_pass = 'your_db_password';

Do not use the root user with an empty password on a live server.

4. Remove the demo data

The SQL file includes a sample shop (“King’s Choice”) and a default Super Admin account whose password is not documented. Remove both before going live by running:

sql

DELETE FROM admins WHERE role = 'super';
DELETE FROM shops WHERE id = 16;

5. Create your Super Admin

Run this from the server command line, inside the auth folder. Use the same random value for both variables. The username must be 4 to 64 characters, and the password at least 12.

Linux / macOS

bash

cd auth
SUPER_ADMIN_BOOTSTRAP_TOKEN='your-long-random-value' 
SUPER_ADMIN_BOOTSTRAP_TOKEN_EXPECTED='your-long-random-value' 
php seed_super.php yourusername 'YourStrongPassword123'

Windows (XAMPP)

bat

cd auth
set SUPER_ADMIN_BOOTSTRAP_TOKEN=your-long-random-value
set SUPER_ADMIN_BOOTSTRAP_TOKEN_EXPECTED=your-long-random-value
C:xamppphpphp.exe seed_super.php yourusername YourStrongPassword123

The script only runs from the command line and refuses to run if a Super Admin already exists. That is why step 4 comes first.

6. Secure the installation

  • Delete auth/seed_admin.php, which is an old script that creates an admin without any protection.
  • Delete or block auth/seed_super.php after use.
  • Make sure the storage/uploads/ folder is writable by the web server.
  • Enable HTTPS so the secure cookie setting takes effect.
  • Make sure Apache has mod_rewrite enabled and AllowOverride All set, so the .htaccess file works.

7. First login

  1. Open yoursite.com/billing/ (it redirects to the login page).
  2. Click the administrator access option on the login screen.
  3. Sign in with the Super Admin account you created.

8. Add your first shop

  1. Go to Shops in the Super Admin panel.
  2. Create a shop with its name, type, admin username and password, and set the activation start and end dates.
  3. Choose the Free or Premium theme and switch on the features that shop should have (credit, purchases, accounting, products and so on).
  4. Give the shop owner their store code, which is shown in the shop list.

9. Shop login

  1. ###listrong###store code. ###li/li### ###li/li###

10. Renewals

When a shop’s end date passes, its users see an expiry page and can send a renewal request. You can approve it from Renewals in the Super Admin panel and extend the dates.

Troubleshooting

  • Blank page or 503 message: check the database details in config.php.
  • Pages show 404: mod_rewrite or .htaccess is not active.
  • Logo upload fails: check the folder permissions on storage/uploads/.
  • seed_super.php says provisioning is complete: a Super Admin row still exists, so run the delete command from step 4.
  • Migration errors on older MySQL: use MariaDB 10.4+ or MySQL 8.0+, or add the missing columns by hand.
Authorreinfadmin
CategoryScripts & Code / PHP Scripts / POS
Price$55
Extended License$165
Likes1
First ReleaseOct 13, 2026
Last UpdateOct 13, 2026
DatabaseMySQL 8.0, MariaDB 10.x
Files included.php, .css, .html, .sql, JavaScript .js
Software versionPHP 8.0, PHP 8.1, PHP 8.2, PHP 8.3
Html/css frameworkTailwind CSS
Programming languagePHP

External listing. code.market does not sell this product and does not process payment for it. Pricing, payment, delivery, licensing, refunds, and support are handled by the third-party merchant on its own website. We may earn an affiliate commission from a referral. Details.

Products of the Week.

Submit
Free social media tools for creators & solofounders

Free social media tools for creators & solofounders

295 free tools for growing your social media: write, plan, grow on local AI models, 100% free forever, No sign-up required, No trial. Write, check and measure posts on LinkedIn, Instagram, TikTok, X, YouTube, Reddit, Product Hunt and more: a free social media scheduler for 17 networks, engagement rate calculators, character counters, best time to post, hook generators and follower growth calculators. No login anywhere, no API or credit usage.

687 views · 6 clicks

$6

Shop Management System | Code Market