Giter VIP home page Giter VIP logo

rapidpos's Introduction

POS AWESOME

An open-source Point of Sale for Erpnext using Vue.js and Vuetify


Main Features

  1. Supports Erpnext Version 12 & 13
  2. User friendly and provides a good user experience and speed of use
  3. The cashier has the option of either using list view or card view during sales transactions. Card view shows the images of the items
  4. Supports enqueue invoice submission after printing the receipt for faster processing
  5. Supports batch & serial numbering
  6. Supports batch based pricing
  7. Supports UOM specific barcode and pricing
  8. Supports sales of scale (weighted) products
  9. Ability to make returns from POS
  10. Supports Making returns for either cash or customer credit
  11. Supports using customer credit note for payment
  12. Supports credit sales
  13. Allows user to choose a due date for credit sales
  14. Supports customer loyalty points
  15. Shortcuts keys
  16. Supports Customer Discount
  17. Supports POS Offers
  18. Auto apply batches for bundle items
  19. Search and add items by Serial Number
  20. Create Sales Order from POS directly
  21. Supports template items with variants
  22. Supports multiple languages
  23. Supports Mpesa mobile payment
  24. POS Coupons
  25. Supports Referral Code
  26. Supports Customer and Customer Group price list

How to Install

  1. bench get-app https://github.com/yrestom/POS-Awesome.git
  2. bench setup requirements
  3. bench build --app posawesome
  4. bench restart
  5. bench --site [your.site.name] install-app posawesome
  6. bench --site [your.site.name] migrate

How To Use:

POS Awesome Wiki


Shortcuts:

  • CTRL or CMD + S open payments
  • CTRL or CMD + X submit payments
  • CTRL or CMD + D remove first item from the top
  • CTRL or CMD + A expand first item from the top
  • CTRL or CMD + E focus on discount field

Dependencies:


Contributing

Will using for this the same guidelines from Erpnext

  1. Issue Guidelines
  2. Pull Request Requirements

License

GNU/General Public License (see license.txt)

The POS Awesome code is licensed as GNU General Public License (v3)

rapidpos's People

Contributors

bobzz-zone avatar dependabot[bot] avatar elliegoldstein8 avatar faisal-zahoor avatar helkyd avatar iankercajes12 avatar jmbodz avatar olamide2 avatar paranzchoy avatar rainecostelo avatar yrestom avatar

rapidpos's Issues

[Use Case]: Close POS Shift

CLOSE POS SHIFT

Cashier works from 9AM-5PM, equivalent to one POS Shift
At the end of the shift, the cashier must close the POS shift
By creating a POS Closing shift doctype


USE CASE:

  1. Cashier clicks Menu > Withdrawal or clicks Ctlr+Z [EF1]
  2. System shows ClosingShift modal
  3. Head Cashier or Sales Manager inputs user name and password & clicks the Begin button
  4. System validates username, password [EF2]
  5. System validates user role [EF3]
  6. System shows ClosingShift modal
  7. Cashier inputs cash denomination by quantity
  8. Cashier inputs card purchase
  9. Cashier inputs coupon information
  10. Cashier clicks the Close button
  11. System saves the following data:
  12. System closes the ClosingShift modal
  13. System prints the ZReading Print
  • Pls see file /posawesome/posawesome/todo/close_pos_shift.txt for more details

Set Item Quantity from Quantity(F2) textfield

Flow:
- User presses F2
- User inputs quantity
- User presses F3 and scans item barcode/user clicks an item from the Item List
- System should set the quantity to the item

  • Set quantity on item barcode
  • Set quantity on item selection

Coupon Save on Submit Invoice

  • Calculate discounted amount from each coupon
  • Save coupon details (Coupon Name/Code, Quantity, Discounted Amount) to 'coupon_list', a child table of Sales Invoice.

SubItem Customization

Be able to add subitems to an item and modify packaging for reducing stocks.

Adding Subitems UI Modal:

  • Dialog Window
  • Cancel, Submit and Reset Buttons
  • Maximum Quantity Count
  • Item Group filter
  • Card View of Items
  • Quantity props per Item
  • Add functionality to increment item quantity every click on the item picture
  • Insert items inside scrollview
  • Section for editing packaging details

Functionalities:

  • add doctype subitems inside Sales Invoice Item
  • Add filter functionality to Item Groups (donuts only)
  • Add Items to scrollview filtered already by an Item Group
  • Add functionality to decrement remaining qty for the parent item
  • Add reset functionality
  • Add subitems inside the parent item in Sales Invoice Item (but not submit the invoice; use update_invoice)
  • Add button for subitems modal inside parent item in Invoice.vue
  • Should be able to save subitems state in case user needs to edit/delete.
  • Multiply max quantity to current quantity (e.g. 2 1 dozens)
  • Display dialog immediately after clicking the item.
  • Should be able to save packaging items state in case user needs to edit/delete.
  • Save invoice state in POS after subitems & packaging items modifications.
  • Redesign/compress item view to avoid further scrolling
  • Add validation to check parent item if it has subitems before proceeding to payment.
  • Update Sales Invoice Subitem doctype to match stock controller code of erpnext (copy Sales Invoice Item doctype fields)
  • Create Sales Invoice Child table - Packaging Details.
  • Add packaging item group field to POS Profile
  • Get and set further item details when subitem is confirmed such as source warehouse, delivery notes, uom conversion, accounting-related fields, base rates and currencies, product bundles, etc. (refer to Invoice.vue 'add_item' method)
  • Validations on submitting subitems such as:
  • stock availability
  • checking if subitem is a product bundle
  • associated to any sales orders/delivery notes
  • checking if item belongs to a batch/ has serial nos
  • etc.. Invoice.vue 'add_item' method
  • be able to reduce subitem stocks
  • be able to reduce packaging items stocks
  • be able to connect subitems and packaging items to accounting as expenses (Cost of Goods Sold Account)

X-Reading

  • Print Format
  • Calculate Totals for X-Reading
  • Display on POSAwesome

Additional missing fields for print format. Please also determine where to put remaining fields in any suitable doctypes.

  • S/N, MIN details
  • Void Count inside Discounts
  • Paid Ins and Outs
  • Global Trans. No

Digital Ocean Deployment

  • Create DO account
  • Understand droplet concept
  • Install RapidERP
  • Connect via SSH
  • Purchase Domain (jacobsbreadnuts.com)
  • Link domain name to server
  • Create subdomain

Deployment Checklist

UI Customizations

  • square buttons
  • change themes
  • remove help buttons
  • remove links
  • disabled getting started videos
  • Frappe Icons
  • ERPNext Icons

UI customization login page

  • background image (jacobs breadnuts)
  • disable website
  • remove powered by ERPNext

Remove menus

  • remove POSAwesome workspace
  • Add POSAwesome links to Retails
  • disable other domains
  • Remove Qualities
  • Remove Utilities
  • Remove CRM
  • Remove Loans

  • Data migration
  • User training
  • Subitems customization

Receipt Printer Customization

  • Create Print Format
  • Display on POSAwesome
  • Calculate Totals

Missing fields:

  • S/N and MIN details

    -S/N Serial Number of Machine/printer/pc/laptop
    - MIN- machine identification number
    
  • VATable Sales, VAT Amount, VAT Exempt Sales, Zero Rated Sales

    Notes:
        -add Sales Taxes and Charges Template
        - Title: Philippine Tax
        - Tax Category: Vat (must be created)
        - Type: On Net Total
        - Rate: 12
    
  • Var.Reg. Tin, Date Issued, Valid Until, BIR Account #, POS Permit No.

  • Add Discount Amount Field to receipt (Standard Print Format have this)

Z-Reading Feature

  • Print Format
  • Calculate totals for Z-Reading
  • Display on POSAwesome

Additional field data for Z-Reading. Please determine where to put remaining fields in doctypes.

  • S/N, MIN details (Serial Number of Machine/printer/pc/laptop; machine identification number)
  • Beginning and Ending Balance
  • Void Count inside Discounts
  • VATable Sales, VAT Amount, VAT Exempt Sales, Zero Rated Sales
  • Accumulated Grand Total
  • Reset Counter
  • Reprint Count
  • Global Trans. No.

Coupon Withdrawal

  • Display all coupon_list data from all Sales Invoices of the current shift. (CashWithdrawal.vue)
    Fields: Coupon Name, Current Quantity, Quantity to be withdrawn, Sales Invoice #, Discounted Amount

  • Calculate total Discounted amount for coupon invoices WITH quantity (to be withdrawn).

  • Save data to POS Opening Shift Withdrawal Coupon Details.

Data Import for Jacob Breadnuts

import excel and image

Deployed and Imported

  • Items
  • Donuts
  • Donuts Image
  • Bar
  • Bar Images
  • Item Group
  • Employees (Sila na siguro mag encode for confidentiality)
  • Users (Sila na siguro mag encode for confidentiality)
  • Suppliers (Sila na siguro mag encode for confidentiality)
  • Raw Materials (Sila na siguro mag encode for confidentiality)

Create custom vue components folder

  • Home.vue (new)
  • Pos2.vue (new)
  • Navbar2.vue (new)
  • PaymentsConfirmation (transferred)
  • ClosePosShift (transferred)
  • Help (transferred)
  • PaymentsCash (transferred)
  • PaymentsCreditCard (transferred)
  • PaymentsDebitCard (transferred)
  • PaymentsCoupon (transferred)
  • CashWithdrawal (transferred)
  • ResumeUser (transferred)
  • ReprintInvoice (transferred)
  • XReading (transferred)
  • ZReading (transferred)

Discount Type (Senior/PWD)

  • Redesign suitable doctype with a table for percentages each discount type and shop category (Item Groups: Food/Grocery and Pharmacy/Medical)
    - Senior & PWD data is currently added at Additional Discount Type doctype.
    - Senior & PWD : Grocery = 5% discount
    - Senior & PWD : Pharmacy = 20% discount
  • Change code according to data model
    - Identifying Food & Grocery Item Groups are hardcoded in Invoice.vue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.