Setting up an invoice with wholesale and retail prices
When working with wholesale customers, there is often a need to clearly show them their benefit. The best way to do this is to display two columns in the sales invoice: the base retail price and the customer’s actual wholesale price, and also calculate the total amount of their discount.
Before changing the invoice template or bulk editing regional price lists, be sure to create a copy of the working template and make sure you understand exactly which fields and columns you are editing. An error in the template or bulk copying into the wrong column can lead to incorrect display of prices and discounts in documents. If you are working with regional prices for the first time, first test the changes on a copy of the template and on several products, not on the entire price list at once. If you need help with setup, contact technical support.
In this instruction, we will review the typical problems users face when setting up such templates in Torgsoft (especially when using regional price lists) and the step-by-step ways to solve them.
How to display the correct retail price from the price list in the invoice
Essence: by default, the standard sales invoice template may pull base prices that do not match the specific settings of the regional price list. For example, the standard variable "wholesale price" may be empty, while "retail price equivalent" may show incorrect data.
How to create a separate invoice template:
-
Save a copy of the existing template. Go to the print template settings (Settings -> Print template settings). Select the sales invoice, open it for editing and save it as a new file using the «Save as...» command (for example, name it «Wholesale»). This will protect your main template from unwanted changes.
-
Rename the columns in the editor. In the editor (FastReport), change the names of the columns in the table header for convenience: name one «Price list price» (the customer’s wholesale price will be pulled here), and the other — «Retail price».
-
Find the correct variable. For the «Retail price» column, delete the old variable and insert the «Retail price by price list» variable from the data tree (or «Price list retail price»). This variable correctly pulls the retail price from the linked regional price list.
-
Save the template and select it as the working one.
How to show the total discount amount in the invoice
Essence: the customer sees two prices per product unit, but for a better marketing effect, the footer of the invoice should automatically calculate the total discount amount for the entire order.
How to set up the discount formula in the template
-
Open the created «Wholesale» template in the print editor.
-
In the document footer (where totals are displayed), create a new text field to display the discount amount.
-
Enter the mathematical expression. You need to sum the value of all products at the retail price and subtract the actual invoice amount (wholesale) from it. The formula will look approximately like this: SUM(retail price by price list * quantity) - invoice amount.
-
Set the number display format (with kopecks) to avoid errors during preview.
-
If desired, add a text label, for example, "Total discount amount", and save the template.
Why the wholesale price is not pulled automatically
Essence: the user creates a sale, scans the product, selects a wholesale customer, but the program still calculates the product at the retail price.
How to set up the wholesale price for the customer

-
Open the card of the problematic customer (Marketing -> Customers -> Customer card).
-
Find the price type setting.
-
Make sure that the «Wholesale only» parameter is set for this counterparty. If this condition is met, the program will automatically pull the wholesale price when products are added to the invoice for this customer.
What to consider when working with price lists
Nuance 1. Why bulk price editing must be done carefully
Situation. When filling in the regional price list, you accidentally copied an empty column to all products and overwrote the wholesale prices that had already been entered.
What should you do? The program does not have a global undo function for the last bulk action ("Back" or "Undo" button) for such operations in price lists. The data will have to be restored manually. Be very careful when using bulk price copying functions.
Nuance 2. How regional prices are updated after changing the base price
Situation. You changed the base retail price for a product (for example, from UAH 23 to UAH 24). Will it change automatically in the regional price list?
What should you do? No, there will be no automatic change in the regional price list. This is done to protect individual regional pricing policies. However, if you have the corresponding control setting enabled (the checkbox for monitoring regional price changes), the program will display a system notification window every time the base price changes, offering you to check and manually change the price in the regional price list. This ensures that you do not forget to update prices for regions.
-
09.02.2026
How to edit, join and delete customer cards in Torgsoft?
Work with clients in the accounting program: how to edit a card, how to delete a client in Torgsoft? Two cards per customer: transferring bonuses, joining cards
-
08.02.2026
VIP clients: why the debt does not converge and how to find discrepancies
-
27.01.2026
Setting up an invoice with wholesale and retail prices
How to set up a wholesale and retail invoice in Torgsoft, show a customer discount and work with regional price lists









Go back to the previous step