Giter Club home page Giter Club logo

pos-awesome's Introduction

POS AWESOME

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


Main Features

  1. Supports Erpnext Version 14
  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
  27. Supports Sales Person
  28. Supports Delivery Charges
  29. Search and add items by Batch Number
  30. Accept new payments from customers against existing invoices
  31. Payments Reconciliation

How to Install

Frappe Cloud:

One-click installing available if you are hosting on FC from here

Self Hosting:

  1. bench get-app branch version-14 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

Support

Frappe Cloud:

If you are hosting on FC premium support is available here

Self Hosting:

If you need premium support please email me here

Community Support:

Available in GitHub discussions


New Features and Bug report:

  • Please Create Github Issue from here after checking the existing issues
  • For paid features, you can email me here

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)

pos-awesome's People

Contributors

alibaig4u avatar ascorbic-acid avatar bobzz-zone avatar dependabot[bot] avatar faisal-zahoor avatar helkyd avatar lucky-tsuma avatar muchai avatar mujeerhashmi avatar olamide2 avatar sufyansadiqoffice avatar yrestom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pos-awesome's Issues

default Card View [Feature request]:

How can we get the default Card View

Is your feature request related to a problem? Please describe.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

[BUG]: Shows existing quantity is not enough even if there is stock in the selected Wharehouse

Versions

ERPNext: v13.3.1 (version-13)
Frappe Framework: v13.3.0 (version-13)
POS Awesome: v2.0.1 (master)

What is Expected?

POS order should be allowed to be placed

What is actually happening?

Error: Existing quantity of the item is not enough

Additional context

Stock is available in the warehouse selected in the POS profile. It seems it pick some other warehouse when the item is added to cart.
Available Qty field in the cart shows zero

Screenshots

image

[BUG]: Tax Applied and is Reducing instead of Adding

  • POS Awesome:

Steps to reproduce

  1. Go to 'Tax Template Create Tax and % and on the POS profile add that tax to Taxes and Charges'
  2. Click on 'Create new sales from Awesome and see the total being paid...'

What is Expected?

Should calculate the TAX while on the right List so user knows what is the total cost of that Item.
Should also when Paying instead of Reducing, Adding to the Grand total the sum of (Net Total + Taxes total)

What is actually happening?

Additional context

Should check normal Sales Invoice. Deductions can be done and TAX can be calculated either based on Grand Total or Net Total.

Screenshots

Added
Screenshot_20210710_114743
Screenshot_20210710_114904

[BUG]: Quantity Field rounded to 2 Decimal Places

Versions

ERPNext: v12.16.2 (version-12)
Frappe Framework: v12.13.0 (version-12)
POS Awesome: v1.0.2 (master)

Steps to reproduce

  1. Open POS Awesome
  2. Complete the Shift Opening Form
  3. Click on the Item to bill and provide quantity in 3 decimal points like 1.258
  4. Check the Qty of the item in the billable list, It has only 2 decimal points like 1.26

What is Expected?

It's expected to have quantity in 3 decimal points since kilograms and grams are being measured in 3 decimal points widely like,

975 g or 0.975 kg
1.725 kg
12.253 kg
124.569 kg

We use 2 decimal places for the money field only.

What is actually happening?

On the billable item list, the quantity (QTY) of the item has been rounded to 2 decimal places.

But the amount calculated at the end of the row ie 275.50 (1.258 X 219) is not having issues.

Screenshots

Three Decimal Points

[BUG]: Error in Expected Amount On Shift Closing Screen / Change Amount not included in the calculation

Versions

ERPNext: v12.16.2 (version-12)
Frappe Framework: v12.13.0 (version-12)
POS Awesome: v1.0.2 (master)

Steps to reproduce

  1. Open POS Awesome
  2. Provide Opening Balance (Ex. 500) on Shift Opening Form and Submit
  3. Make an Invoice (Ex. 749) and Provide an additional or extra amount (Ex. 1000) on the payment screen and submit
  4. Open the Close the Shift Screen and check the expected amount field. It will show Opening Balance + Received Amount (Ex. 1500)

What is Expected?

On Closing the Shift Screen, We should get the expected amount as Opening Balance + Received Amount - Change Amount (Given Back to the Customer).

As per our example here,
500 + 1000 - 251 = 1249

What is actually happening?

It displays only Opening Balance + Received Amount

As per our example here,
500 + 1000 = 1500, which is wrong

Screenshots

InvoiceWithChange
POS_Shift_ClosingScreen

  1. Invoice (Value : 749, Received 1000 on Cash Register, Change Amount : 251)
  2. Shift Closing Screen with 1500 as the expected amount

[BUG]: Invalid file path: point-of-sale.bundle.js

Versions

  • Frappe: v13.x.x-develop () (develop)
  • Erpnext: v13.x.x-develop () (develop)
  • POS Awesome: POS Awesome: v2.0.1 (master)

Stacktrace / full error message

Traceback (most recent call last):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 66, in application
    response = frappe.api.handle()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/api.py", line 54, in handle
    return frappe.handler.handle()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 31, in handle
    data = execute_cmd(cmd)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 67, in execute_cmd
    return frappe.call(method, **frappe.form_dict)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 1179, in call
    return fn(*args, **newargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/client.py", line 327, in get_js
    frappe.throw(_("Invalid file path: {0}").format("/".join(src)))
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 435, in throw
    msgprint(msg, raise_exception=exc, title=title, indicator='red', is_minimizable=is_minimizable, wide=wide, as_list=as_list)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 414, in msgprint
    _raise_exception()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 368, in _raise_exception
    raise raise_exception(msg)
frappe.exceptions.ValidationError: Invalid file path: point-of-sale.bundle.js

Steps to reproduce

  1. Go to Point of Sale

What is Expected?

Point of sale opens.

What is actually happening?

POS fails to open, shows file path invalid error message.
Domain entry for POSAwesome is also missing.

Additional context

  • Running on docker
  • Fresh install still has issue
  • point-of-sale.bundle.js exists at assets/erpnext/js/point-of-sale.bundle.js

Issue did not exist before POSAwesome was installed. Might just be a configuration problem but I am hoping somebody can point me in the right direction !

Multiple Companies and user Permission set to have access on two or three

Hi,
When you have more than 3 companies and you remove the default and set user permissions to access only 2 or 3 companies... Pos-Awesome does not allow to select the company and therefore no POS Profile either.
My user has access to 3 companies
image

But when starting POS-Awesome
image

Can you have a look.

Custom script?

Is there a way to integrate custom scripts? We use some script for sales invoice that are not integrated with this new POS, will it require to do it on VUEjs inside the app?

Batch no data available

Hi, im having issue with item batch no. It shows no data available at batch no. im using ERPNext: v12.14.0 (version-12), Frappe Framework: v12.12.0 (version-12) and POS Awesome: v1.0.0 (master).
Capture1
Capture2
Capture3

Invoice status label

I will like to know when I am working with invoices as draft, unpaid or return which is not clear.

PS.: I don't know why invoices are getting saved as unpaid..

[Feature request]: Auto Select the Batch on POS

Problem :

It's a great option to have a selectable batch number field on the POS.

But in general, we use POS to do faster transactions on B2C businesses, since there are lots of billing / invoicing required daily.

So selecting the batch on every item and every invoice is going to be a much difficult task for B2C businesses.

Solution :

We can consider the following points to make the batch selection automatic for the retail environment,

  1. Auto-select if we have a single batch available for that item and invoice.
  2. Auto-select based on the Expiry Date on the batch if we have multiple batches for that item and invoice
  3. Show pop-up type batch selection option if unable to Auto-select

Also, we can have the settings for Auto-select at the POS Profile Level for user preferences on the auto selection.

This option will make life easier for the end-user / cashier in the retail B2C environment.

InkedBatch Selection_LI

On Open POS Serial No issue

Hi,

i jsut experiencing error because of field not found
unknown column tabSerial No.status

i check in the code there is really code for this and there is no status column in erpnext

it is on posawesome/posawesome/api/posapp.py line 336

so for temporary solution i removed it since im actually not using serial no

but please check it out

thanks

Item groups not being feed to the product list

For a given item group tree as this one:

All Item Groups
Group 1
Group 2
Group 3

If you have in the POS Profile "All Item Groups" as the item group where items should be loaded, its not taking in to account the sub groups.. So all items under Group 1, Group 2, Group 3

Regards,

[Bug] Stock issue

Hi,

as we tried there is some stock issue , its displayed no stock but actually it has....and after we do show the item detail and the stock being reread it no longer being an issue
so i think there is a problem on how we check the stock

we use erpnext 12.4

thanks

[BUG]:

On develop branch, there is an issue with using Custom Print format when printing receipt....

Receipts ignores print format set in POS Profile and still uses the standard print format

To reproduce

  • Create a Custom POS Invoice Print Format
  • Set in POS Profile
  • Create Receipt and complete transaction

exit from POS

Unable to exit from POS when click shift close
show message
Error: Data missing in table: POS Transactions

Frappe: v13.4.0 (version-13)

Erpnext: v13.4.0 (version-13)

POS Awesome: v1.1.0 (master)

Shift Close[BUG]:

when we close shift, the amount in closing shift is not changing

  • Erpnext:
  • POS Awesome:

Stacktrace / full error message

(paste here)

Steps to reproduce

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

What is Expected?

What is actually happening?

Additional context

Add any other context about the problem here.

Screenshots

If applicable, add screenshots to help explain your problem.

[BUG]: Scan barcode on first item with enough qty shows error

Versions

  • Frappe: 12.12
  • Erpnext: 12.14
  • POS Awesome: 1.0.3

Steps to reproduce

  1. Go to POS Awesome page
  2. Scan barcode on Item (with enough qty)
  3. Click Pay

What is Expected?

Payment Dialog shown

What is actually happening?

See error : "The existing quantity for Item XXX is not enough"

Screenshots

BPy9DnOMsw.mp4

when we enter customer name or number from footer its giving error "TypeError: set_customer_info() missing 1 required positional argument: ‘customer’ "[BUG]:

when we enter customer name or number from footer its giving error "TypeError: set_customer_info() missing 1 required positional argument: ‘customer’ "

  • Erpnext:
  • POS Awesome:

Stacktrace / full error message

(paste here)

Steps to reproduce

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

What is Expected?

What is actually happening?

Additional context

Add any other context about the problem here.

Screenshots

If applicable, add screenshots to help explain your problem.

[BUG]: Royalty points redemption miscalculation

Versions

-ERPNext: v12.18.0 (version-12)
-Frappe Framework: v12.15.0 (version-12)
-POS Awesome: v1.0.3 (master)

Stacktrace / full error message

It is miscalculation in royalty points redemption.

Steps to reproduce

1- Create loyalty program:
Collection factor = 1 ( 1 point for each dollar)
Conversion Factor = 0.05 ( 5 cent to each royalty point)
2- Create customer and add loyalty points for testing.
3- try to redeem some royalty point through POS Awesome

What is Expected?

1- Customer has 77 loyalty points
2- He can redeem upto 3.85$ ( 0.05 for each dollar)
Royalty cash = Royality points (77) x Conversion factor (0.05) = 3.85 $
3- After redemption the royalty points of customer must decrease by 77 points and add new 82 points for new purchase. the net will be 82 points

What is actually happening?

1- POS Awesome show wrong value in "You can redeem upto" field. It show customer can redeem upto 1540 $ not 3.85$. because of miscalculation. app uses a division not multiplication. ( 77 point / 0.05 (conversion factor) = 1540 $).
2- App does not deducted 77 royalty points - which customer has been used in previous purchase- from customer, so the royalty point increased from 77 to 159 points. the correct points must be 82 not 159.

Additional context

nothing

Screenshots

pos_error_1

pos_error_2

pos_error_3

UI not working in Safari

I noticed the UI is not working properly, found out the assets/js/awesomplete.min.js.map is not loading 404, could it be it? nevertheless it works on Chrome
Screen Shot 2020-11-23 at 1 15 50 AM

[BUG]: Error in change calculations!

ERPNext: v13.5.2 (version-13)
Frappe Framework: v13.5.2 (version-13)
POS Awesome: v2.0.0 (master)

Hello,

when I try to make a sale that is a credit sale I get an error "Error in change calculations!"

I select the customer in the drop down, select the item I want to sell.
I click on Pay and toggle the "is credit Sale" to on.
Then I click on Submit Payment

An error popup comes up with "Error in change calculations!"

I am not sure what I am doing wrong.

Thank you!

Daniel

[Feature request]: Add Product by Serial Number like Standard POS

The Problem
POS Awesome app can not add products by serial numbers. This is very important feature for many retail like pharmacies.

The Required Features:
Add ability to add product to basket by serial number. and update batch number automatically. every serial number must has a single batch number, so it is very easy to detect the batch number of product after scan product serial number by barcode scanner and pos awesome can update all required fields automatically. so the POS worker can easily handle the sales without any manual work.

Rounding Total

Hi

i think we have issue with rounding...

since we need to round it at the same method with ERPNext POS will do...

thanks

UAE VAT

Hello,

is it work with UAE VAT?

[Feature Request]Draft Function

Hi

i think it would be awesome to have draft function

POS usually need draft function so the cashier can server another customer if current customer having some issue and want to recheck or add some item

thanks

[BUG]: Hardcoded Mode Of Payment

Versions

  • Frappe: v12.12
  • Erpnext: v12.14
  • POS Awesome: v1.1.0

Steps to reproduce

  1. Go to POS Awesome page
  2. Set transaction (any item any customer)
  3. Click Pay
  4. Submit Payment

What is Expected?

Successfuly submitted

What is actually happening?

Please Set default Cash or Bank account in Mode of Payment Cash

Line 297 in posapp.py shouldn't be hard code...because users possibly doesn't have a "Cash" mode of payment

Additional context

Add any other context about the problem here.
image

below is my quick fix
image

[BUG]: In Printout TAX Value not showing

Hi
when I post an invoice its posting everything well but there is a bug its not showing TAX value in print format. i went on invoice module and check print format

from there as well same result not showing TAX value there as well,

3
4

  • Erpnext:
  • POS Awesome:

Stacktrace / full error message

(paste here)

Steps to reproduce

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

What is Expected?

What is actually happening?

Additional context

Add any other context about the problem here.

Screenshots

If applicable, add screenshots to help explain your problem.

TAX Issue

Dear Team.

Tax Not display in POS Awesome

image
image
image

Receipt Pos

After submit payment, print view just showing {{body}} and cannot print receipt from the pos. Is it my print setting issue?
image

[Bug] Number Format

Hi,

i see that the number on the pirce not fomatted , it should formatted so it will shown separator
ex : 100000 -> 100.000

thanks

Cash payment method issues

Hi, im facing issue whenever i do pos closing my cash always been more in expected amount. But my grand total is exactly the same with my real total cash + debit. Picture as below, can see that expected amount is more than transaction that have been registered.
Screenshot_2020-11-26 POSA-CS-20-0000002

Template is not Responsive [BUG]:

The template is not responsive, if we change screen size all icons get on top of each.

  • Erpnext:
  • POS Awesome:

Stacktrace / full error message

(paste here)

Steps to reproduce

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

What is Expected?

What is actually happening?

Additional context

Add any other context about the problem here.

Screenshots

If applicable, add screenshots to help explain your problem.

Installed on V12 but missing a fil

Hi,
First of all nice work and keep up.
Maybe should not but still using V12 and gave a try to install.. and did well but when opening the POSAPP the below message was shown:
FileNotFoundError: [Errno 2] No such file or directory: '/workspace/development/frappe-bench/apps/erpnext/erpnext/selling/page/point_of_sale/onscan.js'

Where to find this onscan.js ?

Opppps sorry found out that is part of V13... reason why you said from V13 on words... Sorry and thanks

[BUG]: No Batch Selection Available for Product Bundle

Versions

ERPNext: v12.16.2 (version-12)
Frappe Framework: v12.13.0 (version-12)
POS Awesome: v1.0.2 (master)

Steps to reproduce

  1. Make Item with Stock & Batch Enabled (Automatic Batch). Ex: Egg
  2. Make Another Item without Stock & Batch / without Inventory. Ex: Egg Pack of 6 Units
  3. Make Product Bundle to link the 1st and 2nd Items. Ex: 1 Egg Pack = 6 Eggs
  4. Open POS Awesome and Select 2nd Item (Item Without Inventory). Ex: Select Egg Pack
  5. Try to Save the Invoice by providing Customer & Payment Details.
  6. Get Message "Batch number is mandatory for Inventory Item (Egg)"

What is Expected?

Option to select the Batch Number for Product Bundle Items as well.

What is actually happening?

No option found to mention the batch details and you can't save the invoice without the batch number.

Screenshots

No_Batch_for_Product_Bundle_2

Sales Return: Cannot create sales return for Batch item

Versions

erpnext 13.6.0
frappe 13.6.0
posawesome 2.0.1

Stacktrace / full error message

libs.min.js?ver=1625534093.0:228 TypeError: Cannot read property 'batch_qty' of undefined
    at a.set_batch_qty (Invoice.vue?rollup-plugin-vue=script.js:1410)
    at Invoice.vue?rollup-plugin-vue=script.js:869
    at Array.forEach (<anonymous>)
    at a.new_invoice (Invoice.vue?rollup-plugin-vue=script.js:864)
    at wn.<anonymous> (Invoice.vue?rollup-plugin-vue=script.js:2166)
    at He (libs.min.js?ver=1625534093.0:228)
    at wn.e.$emit (libs.min.js?ver=1625534093.0:228)
    at a.submit_dialog (Returns.vue?rollup-plugin-vue=script.js:145)
    at He (libs.min.js?ver=1625534093.0:228)
    at a.n (libs.min.js?ver=1625534093.0:228)

libs.min.js?ver=1625534093.0:228 TypeError: Cannot create property 'posa_delivery_date' on string ''
    at wn.<anonymous> (Payments.vue?rollup-plugin-vue=script.js:914)
    at He (libs.min.js?ver=1625534093.0:228)
    at wn.e.$emit (libs.min.js?ver=1625534093.0:228)
    at a.invoiceType (Invoice.vue?rollup-plugin-vue=script.js:2210)
    at fn.run (libs.min.js?ver=1625534093.0:228)
    at un (libs.min.js?ver=1625534093.0:228)
    at Array.<anonymous> (libs.min.js?ver=1625534093.0:228)
    at qe (libs.min.js?ver=1625534093.0:228)

Steps to reproduce

  1. Create a Sales Invoice for an Item with Batch No.
  2. Create Sales Invoice Return for the invoice generated in the previous step
  3. The Customer is not reloaded & the screenshot of the browser console is attached.

What is Expected?

The Sales Invoice return should be possible.

What is actually happening?

I am getting a pop-up There is no customer upon click of Pay for sales invoice return. The customer field is non-clickable.

Screenshots

POSAwesome_SalesReturn_BatchItem

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.