A free and open-source point-of-sale (POS) system for retail and wholesale businesses with support for multiple branches, stockkeeping locations, POS profiles and price lists.

Overview

Note: This is a beta version of the software. You are advised to proceed with caution!

Overview

A free and open-source point-of-sale (POS) system for retail and wholesale businesses with support for multiple branches, stockkeeping locations, POS profiles and price lists.

Installation

Prerequisites

  • Git
  • Composer
  • NPM

via CLI

  • Clone the github repo [email protected]:mwaigichuhi/ajabu-pos.git && cd ajabu-pos
  • Run composer install
  • Run npm install -g bower && npm install -g bower-npm-resolver
  • Run bower install
  • Create a database and update your .env settings
  • Run ./yii migrate --migration-path 'app/database/migrations'
  • Run cat app/database/seeds/people.sql | mysql -u your_root_user -p your_db_name
  • Run ./yii user/create-superuser "my_password" and ./yii rbac/init
  • Run ./yii serve in local environment or use preferred web server in production

System Requirements

  • PHP 7.4 using Yii2 (latest) and JavaScript using jQuery (latest)
  • MySQL 5.7
  • Semantic UI 2.4
  • jQuery
  • Datatables 1.10
  • Flatpickr 4.6
  • SweetAlert 2.1

Modules

  • Buying (Purchases)

    • Purchase Order
  • Stock (Item)

    • Stock Entry (Item Movement)
    • Item
    • Item Group
    • Item UoM
    • Brand
    • Item Bundle (Item Kit)
    • Warehouse (Locations)
  • Selling (Sales)

    • Sales Quote
    • Sales Order
    • Customer Group
    • POS Profile (single)
    • Sales Person
  • Accounting (a basic, functional, but limited implementation)

    • Sales Invoice (A/R)
    • Sales Return (Credit Note)
    • Purchase Invoice (A/P)
    • Purchase Return (Debit Note)
    • Expenses (Petty Cash Voucher)
    • Branch
    • Payment method
    • Price list & Item price
    • Tax & Charge (Sales and Purchases)

Setup (Settings)

  • Business profile
  • Email notifications
  • Email queue
  • General settings
  • Role & permissions

Tools

  • Data import
  • Database backup
  • Report builder
  • SMTP settings

Roadmap

Now:

  • Add direct printing support with default/user-defined settings
  • Re-implement item search to use a custom search bar (input term + dropdown list of search result)
  • Email sending with attachment option for documents and reports
  • Refactor all business domain "modules" above as Yii modules

Enterprise only

  • Email templates and email digest of recent business activity

Next:

  • Improve all the end-user system tools options and performance
  • Add support for keyboard shortcuts in the POS/POR transactions
  • Upgrade to latest Yii2 using PHP 8+ and MySQL 8+ with Fomantic UI 2.8+
  • Change the UI layout to full-width with primary and secondary sidebars
  • Create Yii extensions for the tools and starter kit as composer packages

Enterprise only

  • Add multiple POS profile support with active profile switcher
  • Add integration for mobile money payments and SMS gateways
  • Add Coupon discount in sale and Gift Voucher as payment method
  • Add Customer Loyalty points tracker and promotions messages

Later:

  • Upgrade to Yii3 (with CycleORM datamapper) using Bulma and AlpineJS
  • Test and prefer RoadRunner over Nginx for production in Ubuntu 20.04+

Want to contribute? Thank you for considering to make a contribution to Ajabu POS. New contributors to improve the solution further or help provide support to issues are most welcome.

License Ajabu POS is released under the BSD-3-Clause.

You might also like...

A string of four operations of the library, can solve the js digital calculation accuracy of scientific notation and formatting problems, support for thousands of decimal point formatting output operations

A string of four operations of the library, can solve the js digital calculation accuracy of scientific notation and formatting problems, support for thousands of decimal point formatting output operations

Apr 6, 2022

Admin portal for the community-profiles web app

cp-admin Admin portal for the community-profiles web app. Created with Strapi and postgresql backend. Hosted with Azure App Services. Strapi Instructi

Nov 4, 2022

Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

May 18, 2022

Snapmaker 2.0 (A350, A250, A150) tool libraries, machine profiles, post processor...

Snapmaker 2.0 On this repository I'm adding some machine configurations, tool libraries and post-processor to use the Snapmaker 2.0 A350, A250 and A15

Jan 4, 2023

Save your favorite GitHub Repos/Profiles Live

Save your favorite GitHub Repos/Profiles Live Getting Started by Fork and clone this repository or simply git clone https://github.com/ttran293/useful

May 2, 2022

Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

May 3, 2022

📊 AlphaSwap subgraph - (Blocks, token info, profiles, pricing data, LP metrics, etc...)

AlphaSwap Subgraph AlphaSwap is a decentralized protocol for automated token exchange on the KCC network. This subgraph dynamically tracks any pair cr

Jul 9, 2022

Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

Jan 3, 2023

complete laravel 9 pos sales project - برنامج ادارة المبيعات والمخازن والمشتريات والحسابات وخطوط الانتاج لارافيل 9 ❤ لاتنسونا من صالح الدعاء

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Jan 2, 2023
Owner
Mwai G
Mwai G
A robust and light-weight inventory management application designed to help businesses maintain perfect control over every unit of stock.

Inventory Buddy Access inventory anytime on web, tablet or mobile. Inventory Buddy is a robust and light-weight inventory management application desig

Brynn Smith 7 Nov 5, 2022
🤖 Script to automate creating built branches

build-this-branch Script to automate creating built branches. Support this project by ⭐️ starring and sharing it. Follow me to see what other cool pro

hiroki osame 22 Aug 6, 2022
Ordered lists, flat or nested, multiple formats ordered lists.

logseq-plugin-ol 有序列表,单级或多级、多种样式的有序列表。 Ordered lists, flat or nested, multiple formats ordered lists. 使用展示 (Usage) 在想要展示为有序列表的块上添加一个以 #.ol 开头的标签就可以了。有

Seth Yuan 25 Jan 1, 2023
pos-system-team-1 created by GitHub Classroom

Hip Hop, Pizza, and Wangs (HHP+W) Get Started READ ALL INSTRUCTIONS BEFORE BEGINNING THIS PROJECT. Take notes as you read. Everything that needs to be

NSS Evening Cohort 19 2 Jun 14, 2022
Free to use and not for sale. This repo uses scrape or data.json

Aine-MD This script is free, if caught sold, this script will be deleted immediately. Don't forget to follow my github Script ini gratis, Jika ketahua

Aine 119 Dec 30, 2022
A modern and fashion-forward retail portal.

Atelier Atelier is an ecommerce product detail page built for a fictional clothing company as an exercise in front-end development. It contains three

null 1 Aug 30, 2022
API implementation for the TERA Online retail server (patch 92/100) on Node.js.

tera-api API implementation for the TERA Online retail server (patch 92/100) on Node.js. The API consists of two independent servers running on differ

JKQ 20 Nov 30, 2022
Statichunt is a free open-source Jamstack directory that lists hundreds of themes, starters, and resources for Jamstack sites.

Statichunt Statichunt is an open-source directory that enlists hundreds of themes, starters, and resources for static site generators submitted by the

Statichunt 12 Dec 29, 2022
The Frontend of Escobar's Inventory Management System, Employee Management System, Ordering System, and Income & Expense System

Usage Create an App # with npx $ npx create-nextron-app my-app --example with-javascript # with yarn $ yarn create nextron-app my-app --example with-

Viver Bungag 4 Jan 2, 2023
⚡Chrome extension allows you to create lists of Google and Github dork to open multiple tabs with one click, import "scope/out of scope" from #HackerOne #Bugcrowd #Intigriti ...

FastDork v0.1 This chrome extension allows you to create lists of Google and Github dork to open multiple tabs with one click, import "scope/out of sc

skvndr 74 Dec 31, 2022