Small Business Web + POS + Phone + Counter Sales
The purpose of this page is to help guide a small company to configure iDempiere to perform web + POS + phone + counter sales.
Assumptions
- You are a smaller business
- You do not have a lot of budget for automation
- You want the implementation to be as simple as possible but only use out the box functionality
- You sell via the phone to named accounts
- You sell via a physical presence (counter sales) to named and anonymous accounts
- You sell via a website like Magento, Shopify or BigCommerce
- You have only one iDempiere Organization
- You have only one Bank Account
- You have multiple credit card payment processors
- One or more for counter sales
- One for web sales
Prerequisites
- You watch the Sales Order Management video series first.
Physical Presence Order (POS)
- Assumes you deliver the product, invoice and capture payment at the time of order.
- Create orders using Sales Order window with "POS Order" Document Type with Payment Rule = Cash or Check or Credit Card
- Note that Payment Rule = Credit Card assumes that iDempiere is connected to a payment gateway. If you use a dedicated terminal (not connect to iDempiere), you will need to use either Cash or Check (ACTION for improvement).
- Note that the Payment Rule = Mixed POS is not fully functional yet; however, it will be shortly
- When the Order is completed, you will be able to click an icon on the Payment Rule field to capture Payment.
- Notes
- iDempiere will chose one of the Bank window => Account subtab records where Default=Y
- Make sure there is only one default account per Organization
- This option assumes that you will deliver the product at the time of order. If not, use the Sales Order window = Standard Order Document Type where the product will be invoiced and delivered at a later date.
- See section below regarding Payment Rule = Mixed POS
Web Order
- Assumes one of your iDempiere users is hand creating the iDempiere order when notified by the eCommerce website
- Note that the Import Order window is also an option; however, this option often requires some code customization
- Create orders using Sales Order window with "Standard Order" Document Type with "Check" Payment Rule
- After order is complete, click the Payment Rule icon to complete the payment captured at the time the web order was created. Use the check number and bank fields to capture web order number and other details
- Note that you can see the Payment via the Sales Order => Toolbar => Zoom Across icon
- See below section about taxes
- Because this order is a "Standard Order", the system will add these order details to the Generate Shipment queue.
Phone Order
Phone orders are the same as Web Order; however, you exclude the payment steps.
No Code Alternative Solution
The no-code alternative to the above is to simply create a Sales Order window => Receipt (C_Payment) subtab where the window is optimized to default as many field from the Sales Order as possible. The user simple sets the following fields as part of completing the Receipt:
- PayAmt
- Bank Account
- TenderType
- DocAction Button
Notes about this solution:
- Be aware that the C_Payment.C_Order_ID field had dynamic validation that limits it to completed orders. If you are wanting to set this field prior to Sale Order completion, you will need to modify this field.
- In scenarios where you are capturing many payments (example: cash + check), You will want some validation that the total payment amount captured is equal to the order total.
- Instead of asking for the Receipt => Tender Type field, you can ask for the Receipt => POS Tender Type field. You could then create a simple callout code plugin to automatically set the Receipt => Bank Account and the Receipt => Tender Type from this field.
Notes about Customization
There are two ways to customize iDempiere:
- Application Dictionary: metadata that describes how iDempiere looks and how it stores data. This data is held in the database. This type of customization is usually smaller in scope and complexity.
- Code: logic used for automation and validation. This type of customization requires more knowledge, skills and infrastructure.
If there is a need for customization, I will identify which type.
Notes about Payment Allocation
This sections needs to discuss how POS payments are allocated to invoices.
Notes about Payment Rule = Mixed POS
The "Mixed POS" Payment Rule was created to facilitate integrating with a 3rd party POS system. Interacting directly with this option via the webui is not fully developed.
I am, however, excited about this option. Here are my thoughts:
- Need to act consistently with other Payment Rules (like Cash, Credit Card) in regards to:
- Being able to execute post Document Action = Complete via field icon like other Payment Rule options
- Should be able to choose the Bank Account or Payment Processor in the POS Tender Type window
- Should be able execute a online transaction in real time to allow customer to try multiple options if declined/needed
- Should show running total payment captured
Notes about Taxes
- If you do not want taxes to be calculated by iDempiere, you will need to enter taxes as Order Lines using the Charge field.