(For more resources on Compiere 3, see here.)
The product definition
The concept of a product in Compiere is that it is something that you buy or sell and has a price. It would include:
- Inventory items (items that you store and track)
- Non-stock items (still items, but you do not store or track them)
- Expense types
In addition to a product, Compiere allows for charges (account aliases), as well as customer assets on transactional lines.
When to use a charge and not a product: It's logical to use charges where a mere account entry is required and the many descriptions that a product requires are not required for the transaction. An example would be marketing or an admin expense.
When to use a customer asset and not a product: Customer assets are extended instances of a Compiere product. An example would be where a Desktop PC is sold or purchased and becomes an asset or equipment type that need to be tracked.Customer assets are therefore used for asset or equipment related business process information.
Products allow for many descriptive attributes in its master setup.
Describing a product
Product information and features can be extended and described in Compiere in the following manner:
- Basic Product Information: Basic product information includes search key values, Descriptions, Unit of Measure, UPC, EAN. Critical for basic product information are Product categories, which group products into related products.
- Product BOM (Bill of Material): More advanced products would include BOM kits that are made up of other products (referred to as BOM components).
- Substitute / Related Products: This refers to products that may be related to the product being searched for.
- Product Replenishment: This describes the rules of how a product would be replenished. This would, for instance, include minimum and maximum quantities to hold in stock.
- Product Purchasing information: This refers to the set-up around how a product is purchased—for instance the default vendor and the vendor's product code.
- Product Locator: Where products are currently located in the warehouse.
- Product Business Partner: This describes additional information used when products are purchased.
- Product Price: A product may have multiple price lists attached to it, and depending on the Business Partner or transactional document this can be defaulted as required.
- Product Accounting: This describes which standard account elements are to be used for a transactional document. Usually, similar products have the same accounting rules and as such the accounting for Product Categories would be setup and maintained, rather than individual product categories.
- Product Unit of Measure conversions: Where applicable, products may have conversions applicable to them—for instance converting a 6-pack quantity sold to an, each, quantity during purchasing.
- Product Attributes: Attribute sets allow you to further extend the product information into, for example, instance sets such as lots and serial numbers.Non-instance sets are also catered for, such as colour or size sets that can be used for searching the products.
Setting up a Product
Prior to setting up a product, you should make sure that the following is set up:
- Warehouse and Locators: The system logic here is that a Product must be sold/delivered from somewhere within the organization. Make sure that you set up your warehouse and Locators first. Use virtual warehouse and locators where they are not physical.
- Units of Measure: Review the system standard units of measure and add your own units of measure if applicable.
- Product Categories: Define your groupings prior to setting up products since it will reduce data maintenance time.
- Tax Categories: Pre-define the applicable tax categories if they are product specific.
- Price lists: In order to use a product it must have a price which is set up through Price Lists (it includes sales and/or purchase price lists).
The above set-up is performed through the Product Setup menu items, which are grouped as follows in the main menu:
You start entering a product through the Product window:
The additional Product Descriptions (listed above) are added through the following tabs in the Product window:
In order for products to be used in the sales or purchasing cycle, they must have prices. A product can have the following three line prices set up:
- List Price: The list price before discounts of a product.
- Standard Price: The standard price of a product.
- Limit Price: The lowest price at which a product can be sold or purchased.Usually used by management as a pricing control limit for sales reps.
The product price information (in the context of the price list version) is accessed through the Product Price| window:
Pricing logic flow
Price lists determine the price to be used in the context of the transaction(sales / purchase) and the chosen Business Partner. The basic logic for determining the price is as follows:
- A price list has a version, and the latest version of a price list is used during sales or purchasing (or both).
- If a Business Partner (customer or vendor) is assigned a Price list, then this Price List is used to determine the price for the transaction.
- If a Business Partner is not assigned a price list, then the Business Partner Group's defined price lists is used.
- If the Business Partner Groups' price list is not defined, then the default sales or purchase price list is used (this is indicated throught the isDefault checkbox in the price list window header).
- If a product is not assigned the relevant price list, an error is given and the user cannot continue.
- The system also considers that a price list is Tenant and Organization specific.
In terms of price discounting, a product can be assigned to a Discount Schema. In such a case, the following discount schema options are available:
- Price lists: This is the normal type of discount calculation, and is based on the price list-that is—a discount off the list price based on a distributor or reseller price list.
- Flat Percentage: This refers to a flat percentage discount arrangement.
- Quantity Discount Breaks: This discount schema refers to quantity breaks, where items purchased at different quantity levels attract more discount-for example,—100/10% or 1000/20%.
Setting Up a Price List and version
As mentioned, a price list can have one or more versions, which are time based. This is set up as follows:
Enter a price list through the Price List window. Here, we enter a sales pricelist as follows:
Create one or many price list versions through the Price List | Version tab, with the following options:
- Dicscount Schema: This specifies the discount rules to be applied when creating or updating the price list.
- Base Price List: This indicates a price list upon which to base the discount schema rules.
- Valid from date: The price list will be used for new order or invoice transactions from this date. Transactions prior to this date will not be affected.
A price list may be set up to be inclusive of tax. In this case the accounts posting on the document is adjusted to reflect the inclusive tax accounting. Enforcing price limits ensures that the end-user cannot enter a price lower that the price lists, limit price for the product.
A price list is either imported, manually entered, or updated based on another price list, through the discount schema.
(For more resources on Compiere 3, see here.)
Illustrating a price list increase
To illustrate the process of a applying a price list increase, we will create a new price list version with a 10 percent increase on the existing version.
One enters the discount schema detail through the Discount Schema window. We will select a PriceList discount type, as the calculation will be based on the price list values:
The next step is to create the Price List line calculation paramaters for the discount schema:
The pricing discount line for the increase is entered as follows:
- Select the Price Base: This defines which price base is affected (List, /Standard / Limit).
- Enter the List price Discount: A discount is normally entered as a positive, but because we are performing a price increase we enter a negative amount.
- List Price Rounding option: Compiere allows different rounding methods, and as illustrated we selected the Rounding to the nearest Ten (10,20,30) option, for pricing policy reasons.
Finally, we run the increase for the Price List version illustrated as follows:
Discount breaks are trade discounts applied through different quantity or value breaks/levels. Setting up a Discount Schema for discounts break based on a quantity sliding scale is entered through the Discount Schema window, as follows:
In a sliding scale discount break, Compiere applies the first discount break that meets the discount criteria, therefore for the example above, an order of 1000 or above would have a 40% discount, 500-999 would have 20% discount, an order of between 10 to 499 would have 4% discount, and 0-9 would have 0% discount
Pricing Decimal Precisions
Compiere allows for different pricing decimal precisions, which may be a requirement in the enterprise during different transaction types:
- Unit of measure: You can define pricing decimal precisions for accounting and cost calculation separately
- Currency: You can define pricing decimal precisions for accounting and cost calculation separately
- Price List: You can define the price precision
Managing Products as Services
Service items are not treated as stock and are usually not purchased. Service items are managed as non-stocked items and have different accounting entry implications,by default. Service items are set up through the Product window as follows:
We covered the following in this article:
- The basic characteristics of a product, and how to set up a product item
- How to set up and use price lists and discount schemas
Adding a Custom Field in Compiere 3 [article]
Material management using Compiere 3[article]