3S POS
Created by Hadi Sanouree

ERPNext New POS
Here is the design of the new POS,
Goal is to utilise the current ERPNext original POS and modify some of it's behaviour
Immediate Goals:
- Direct submit of invoice (Phase I)
- Multi Currency Payment (Phase II)
- Fast speed for fetching data (Testing)
- All pricing rules, offers, coupouns should affect the operation of this POS (Testing)
Later Goals:
- Offline work (Phase III)
- Design and themes (Phase IV)
Phase I: Direct Submit
POS Should be able to:
- Make direct submit on submission of the POS (Financial & Stock taking)
- No POS invoice is necesserily required, however, Direct sales invoice to be submitted.
- No POS Invoice Merge is requried.
Note: I noticed that currently even before closing the shift, available qty is affected in POS available but not affected in Stock balance report
Phase II: Multi Cuurency
- Modification and testing of payment.
- Current behaviour is the system takes single currency.
- currently the system automatically makes the cash change, without selecting the cashbox to return from.
- There is an issue in payment in checking out when trying to return partial qty, of the original order, payment error.

Changes
- Having two cash boxes, the existing one (USD) and another cashbox in (IQD)
- The user will be able to select a combination of payment from both boxes
- New fields with certain formulas to handle multi currency
- Accounting ledgers should be created based on final feild results
Phase II: Formulas
There should be a 4 extra feilds "read only" that shows how much exchange is remaining
Assumptions:
- POS Profile currency = IQD
- Company currency can be both
Fields & Formulas
USDC = USD Cash Box (By user)
IQDC =IQD Cash Box (By user)
USDP = USD Paid Change (By user)
IQDP = IQD Paid Change (By user)
USDG = Suggested USD Change (Calculated - Read Only)
IQDG = Suggested IQD Change (Calculated - Read Only)
NINV = Net Invoice amount after disounts and Loyalty points (Fetched)
EXG = Exchange rate fetched from ERPNext (IQD to USD) (Fetched)
Phase II: Accounting Ledgers
Accounting ledgers should be automatically created based on entries from previous final fields considering:
- Company
- Cost center (fetched from POS Profile)
- Accounting dimensions (Fetched from POS Profile)
- Accounts (Fetched from Mode of payments linked accounts)
GL Entries should be as follows:
- USDC >> Debit on USD Cash account (Against: Customer ID, reference to sales invoice)
- IQDC >> Debit on IQD cash account (Against: Customer ID, reference to sales invoice)
- USDP >> Credit on USD Cash account (Against: Customer ID, reference to sales invoice)
- IQDP >> Credit on IQD Cash account (Against: Customer ID, reference to sales invoice)
- Write off >> Credit to write off account (Against: Customer ID, reference to sales invoice)
Note1: Write off is equal to (Net Sales invoice Amount) - (Total Paid Amount)=

Details on creation of GL Entries in Inovoice is already done by Abdul Monem
Phase II: POS Profile
Should Allow adding multi currency "Mode of Payments"