Click to search for other posts here on webERP
This tutorial is an incomplete work in process!
Unless you are only selling services, you will need to purchase product to sell, or raw materials to manufacture into product to sell.
An Enterprise Resource Planning (ERP) system offers significant advantages for sales operations by centralizing customer data, product information, and pricing into a single, unified platform. This integration streamlines the entire sales process, from order entry to fulfillment, by eliminating manual data re-entry and reducing errors. Furthermore, ERP systems provide real-time visibility into inventory levels and order status, enabling sales teams to provide accurate information to customers and manage expectations effectively. The robust reporting and analytics capabilities within an ERP allow for deeper insights into sales performance, customer trends, and forecasting, empowering data-driven decision-making. Ultimately, leveraging an ERP for sales enhances efficiency, improves customer satisfaction, and drives revenue growth through optimized workflows and informed strategies.
Features of using webERP for selling include:
- Efficiency. Items, Customers, Sales Orders, Shipping Orders, etc. are managed within one controlled system. Fix a problem once and it’s fixed everywhere.
- Visibility. Because all data and transactions reside and are performed in a single system, it is also available to all users (subject to security roles and privileges).
- Scalable. Readily scales with users, items, and customers, and can adapt to changing business processes.
This chapter introduces the sales cycle, starting with creating a product with initial stock, and creating a customer. Then a draft sales order or quote is created for the product, the order is confirmed, and then picked and shipped. The customer is invoiced, and finally payment is received. Concepts such as Units of Measure (UOM), Cost Price, Categories and Taxes, and Fiscal Periods are introduced along the way.
The Aircraft Wireless product will be used as an example. Documentation will be stored in the webERP Knowledge Base (integration with WackoWiki CMS).
Goals
- Receive purchase orders from a customer.
- Ship goods to a customer from inventory.
- Receive payment from a customer.
Sales Terms
- A Customer is a party who purchases goods or services from a Supplier.
- A Purchase Order is a request from a purchaser, for a specific item and according to specific terms. The purchase order is generally considered legally binding when the supplier reports the order was accepted.
- O2C – Order to Cash – the customer sales and payment process.
Order-to-Cash (O2C) Process
The sales cycle is a sequential process that starts with identifying a prospect or lead, possibly by clicking on an online ad, answering a cold-call, or just walking into your store, progresses to a paying customer, and then repeats.
- Identify lead
- Quote sale of product or service
- Convert the lead to a sale
- Ship goods or perform service
- Invoice customer
- Receive payment
- Repeat
Not all companies and circumstances require all steps, or may change the order of some steps depending on the product and customer.
The high-level sales and payment process cycle is commonly called Order to Cash, or O2C.

webERP Sales and Accounts Receivable
There are five primary tasks associated with sales orders and accounts receivable in webERP.
- Counter Sales
- Create order, invoice and receipt records in one process (order location is “Cash Sales Customer”).
- Order Process
- Enter order > Print order and dispatch note > Confirm quantities dispatched and invoiced > Print invoices and send to customers.
- Produce and Send statements
- Perform during month-end tasks.
- Enter Customer Receipts
- Enter multiple cheques in a one batch or single batch for each transaction listed on a bank statement.
- Allocate Receipts and Credits
- Allocations create exchange differences between invoice rate and payment rate (can be un-done and re-done at any time).

- Step 1. Create a sales order in response to a customer purchase order.
- Step 2. Advance Sales Order to Quototion status (the cost is determined).
- Step 3. Advance Sales Order to Confirmed status (a contract now exists and the order can be processed).
- Step 4. Process order.
- Step 5. Create a Shipping Order to trigger shipping the ordered goods.
- Step 6. Assign and pick shipment.
- Step 7. Complete the shipment, which is a trigger for the invoicing procedure.
TODO replace flowchart with swim-lane drawing.
Security
We will login as user “mnestor” (Mary Nestor), who is assigned the Administrator security role and has permission for almost all operations (except for some finance related operations which will require a user with the Accountant security role).
In actual use however it is important each user has their own login with a password only they know. This allows correctly identifying the person performing an operation and provides tracibility. This is especially important if you will be using webERP in a regulated or controlled environment.
Default (out-of-the-box) security permissions generally satisfy a common demonitor of the webERP community, but eventually may be found lacking. Should that happen, it may be more efficient to develop bespoke security roles and security token assignments based on the structure, staff and relationships of the company, than to re-define the default implemention.
Setup
Before customers can be created the following information is required:
- Currencies – the currency of the customers’ account.
- Sales Types – the sales type is combined with the currency of the customer to determine the price list applicable to the customer. Item prices are held against sales types and currencies, and each customer must reference a sales type. The sales type typically reflects if a sale is a trade sale, retail, wholesale, indent, cash sale, special sale, etc., and as many many sales types as necessary can be created. A Sales Type is required to set an Item Price and scripts may assume at least one Sales Type exists.
- Credit Status – indicate the credit-worthiness of a customer. Each customer must reference a credit status type and some credit status records can be configured to prohibit invoicing.
- Payment Terms – terms governing payment associated with a customer. As many terms records as necessary can be defined. The customer must reference a parcular payment terms.
- Tax Groups – the groupings of tax authorities the supplier must collect tax for on customer sales. Each customer branch must refer to a tax group. Sales to these branches will automatically calculate the tax based on where the sale is from and the tax category of the item being invoiced.
After cresting a customer a branch must be created. Accounts receivable requires customer branch information, such as delivery address. The following information must be entered before a customer branch can be created :
- Sales Areas – for reporting and analyzing sales by area. GL integration can be configured to query the area of a customer to determine the GL account for posting sales to. Each customer branch must referance a sales area (define a “Default” area if more specific sales areas are not needed).
- Location – somewhere stock can be held, e.g. a warehouse. Each customer branch needs to refer to the stock location for it to draw stock from. If there are multiple locations, the one that is most freight efficient to draw stock from is preferable.
A sales person must be designated for each company branch who is responsible for managing the sales relationship and takes credit for sales to the branch. If sales people are not necessary for your business, define a single salesperson naned “Default” or similar.
Currencies
Currencies were configured in the Configure a company with webERP tutorial and are shown here for convenience.
[Main Menu > Setup > General Setup > Currency Maintenance]

Sales Types
[Main Menu > Setup > Receivable/Payables Setup > Sales Types]

Credit Status Codes
[Main Menu > Setup > Receivables/Payables Setup > Credit Status]

Payment Terms
Payment terms were configured in the Purchasing with webERP tutorial and are shown again here for convenience.
[Main Menu > Setup > Receivables/Payables Setup > Payment Terms]

Tax Groups
Tax groups were configured in the Purchasing with webERP tutorial and are shown again here for convenience.
[Main Menu > Setup > General Setup > Tax Group Maintenance]

[Main Menu > Setup > General Setup > Tax Authorities and Rates Maintenance]

[Main Menu > Setup > General Setup > Tax Authorities and Rates Maintenance > {CRA} > Edit Rates]

[Main Menu > Setup > General Setup > Dispatch Tax Province]

Taxes are more complicated however when selling, and can depend upon not only on the location of the seller but also that of the buyer, and where custody of goods changes.
The first customer for the Aircraft Wireless is B&E Submarines, a Canadian company operating in the province of British Columbia. B&E will be paying in advance for development costs and the first 10 Aircraft Wireless units.
B&E is located in a different province in Canada than the SCC. the SCC will need to collect 5% of a sale to B&E for GST, seperately collect 7% of a sale to B&E for BC PST and remit both to the CRA (the SCC has not registered for BC PST but will do so if the Aircraft Wireless product is a succes, afterwhich will submit BC PST directly to BC)
A new tax group “CRA BC HST PST” will be created and B&E will be switched to the new group.
TODO add screenshots and descriptions.
Sales Areas
At lease one sales area must be defined. Create a 000 (Default) sales area.
[Main Menu > Setup > Receivables/Payables Setup > Sales Areas]

Locations
Inventory locations were configured in the Manage Parts, Suppliers and BOMs with webERP tutorial but are presented again here for convenience.
[Main Menu > Setup > Inventory Setup > Inventory Locations Maintenance]

Users must also be individually authorized to operate on an inventory location, either by user,
[Main Menu > Setup > Inventory Setup > User Authorised Inventory Locations Maintenance]

or by location.
[Main Menu > Setup > Inventory Setup > Inventory Location Authorised Users Maintenance]

Bank Accounts
Inventory locations were configured in the Purchase with webERP tutorial but are presented again here for convenience.
[Main Menu > General Ledger > Maintenance > Bank Accounts]
In addition to entering the bank account information, the user must also have authorization to use the bank accounts.
Bank account authorization can be accessed either by user or bank account.
[Main Menu > General Ledger > Maintenance > User Authorized Bank Accounts]
Set Price
Items to be sold will require pricing. This may have been done when the item was created (see tutorial Manage Parts, Suppliers and BOMs with webERP), if not a price must be set (entered) now.
webERP includes price lists but they will not be covered in this tutorial.
[Main Menu > Inventory > Maintenance > Select an Item > {select item} > Maintain Pricing]

Create Customer
TODO describe creating customer.
Sell Item
Before an item cas be sold there must be stock on hand of it.
Issue Order
TODO describe issuing order.
Ship Order
TODO describe shipping order aka transfer custody for an item to the customer.
Receive Payment
TODO receive payment from customer.
Reports
A variety of reports are available for managing and understanding customers orders and paymentds, indicating item demand, open orders, and customers behind in payment.
Reports that you may find useful include:
- Unit Sales for a Period

(submitted to webERP project by efeoli (Enrique) to illustrate test results 2024-11-11)
Change Happens
It happens that an order may need to be revised.
- Cancel order in whole or in part for items the customer no longer requires.
- Modify orders to mitigate reduce cost, modify delivery date, add forgotten items, substitute an item for some reason, or a multitude of other possible changes.
Summary
This completes the overview of selling with webERP. In this chapter we started by creating a product and creating initial stock we had on hand. We then created our first customer, issued a quotation to them for the product, and continued the workflow by converting the quotation to a sales order, shipping product the customer, invoicing the customer and finally accepting payment.
In the next chapter, we will take a break from operational use and dive into Accounting and Finance, and see how the buying, manufacturing and selling we’ve been doing is reflected in financial reports.
One Reply to “Sell with webERP”