Configuration, management, and reporting tasks relating to sales can be found under the [Sales] main menu item.

Listing customers#

In Tryton, by definition, the Parties that have bought Products from your Company are its customers. The Sale Module lets you get a list of these from the [Parties ‣ Parties ‣ Associated to Sales] main menu item.


For some companies it is important to know which parties are, or may eventually be, customers before they have bought anything. One way you can do this is to create a Customer Category, and add all the appropriate parties to it.

Making products salable#

Before you can add a Product to a Sale it must be marked as salable. When you do this you will also be able to set some additional properties such as the Unit of Measure the product is normally sold in and how long it normally takes before the product can be delivered.

Finding sale prices and availability#

Before making a Sale it is sometimes useful to know how much of a Product is available, and what the sale price will be.

You can get a list of this information for the salable products by using the [Sales ‣ Salable Products] main menu item. The Sale Context allows you to adjust the various parameters that can effect stock availability and price, such as which Warehouse will be supplying the product, who the customer is and how much they want to buy.


As with all Tryton data you can export this list to a CSV file by using the form’s Export menu item.

Creating a sales order#

Creating a new sales order is simply a matter of creating a new Sale and adding the lines that are required. Most of the fields are optional or have sensible default values.


The sale’s reference field is intended to be used to keep track of the customers reference for the sale. This can be filled in at any time even when the sale is done.

Changing a sales order#

The Sale needs to be in a draft state in order to change the values in most of the fields.

There are also few fields, such as the Party and Currency, which become read-only when any lines are added to the order. In order to change these without needing to remove the sales lines you can use the Modify Header button to start the Modify Header wizard.

Shipping a sale#

Any goods that were sold as part of the sale are sent to the customer using a Customer Shipment.

Depending on the shipment method chosen for the sale, the customer shipment may be created for you automatically.


The customer shipments that have been generated from the sale can be found using the sale’s Shipments link.

The Shipments and stock Moves related to a sale can also be found using the items in the sale’s Open related records menu.

Part shipments#

In some cases you may want to send a sale to a customer in stages. If you want to do this then you just need to make sure that the shipment’s inventory moves are correct. Once the shipment is packed, or the sale is processed again, the sale will automatically create a new shipment that contains any remaining quantities. This new customer shipment, often referred to as a back-order, can then be shipped at a later date, split up further, or cancelled.

Invoicing a sale#

The Sale’s invoice method determines whether the sale will automatically generate Invoices.


The invoices that have been generated from the sale can be found using the sale’s Invoices link or the Invoices item found in the sale’s Open related records menu.

Handling shipment and invoice exceptions#

Sometimes you may have cancelled items from a Sale’s Shipment, or cancelled a sale’s Invoice, and need to recreate them. Other times you may have cancelled things because you no longer want to ship, or invoice, them. As Tryton does not know if a cancelled item needs to be recreated, or not, it shows this as an exception in the sale’s shipment or invoice state.

For sales that have a shipment or invoice exception you can use the Handle Shipment Exception or Handle Invoice Exception wizards to recreate the items that need recreating, and ignore the rest.


When using the wizard the moves and invoices to recreate will, by default, already be selected. This means you will need to deselect any that you do not want to recreate.


If you have ignored by mistake a move or an invoice, you can remove them from the corresponding ignored list and after click on the Process button.

Finishing a sale#

In Tryton once a Sale is being processed there is no button that moves the sale into a done state. This will happen automatically once the sale’s Shipments and Invoices are completed.

Cancelling sales#

You can easily cancel Sales that are not yet confirmed using the Cancel button.

Confirmed sales cannot be cancelled, but you can put them back to a state where they can be cancelled. However, as soon as a confirmed sale starts to be processed it can no longer be cancelled. This may happen immediately when it is confirmed, or after a delay if one has been correctly Configured.

Once a sale has started to be processed, to effectively cancel the sale, you must cancel its Customer Shipments and Invoices. Once you have done this you must handle the exceptions this generates, ensuring that none of the moves or invoices are selected for recreation.

Handling customer returns#

Sometimes a customer may decide to return a Sale, or part of a sale, to you. In Tryton this is represented by a sale that has negative quantities.

One way of creating a customer return is to use the Return Sale wizard. This creates a new draft sales return for the whole of the selected sale.

If the customer has only returned part of the sale, then the sales return can be altered as required. When it gets processed it will automatically create Credit Notes and Customer Return Shipments where required.

Getting sales data#

You can analyse aggregated sales data using the items found under the [Sales ‣ Reporting] main menu item. These Sales Reports allow you to view sales grouped by a range of different factors.


The value of the sales in these reports are always shown in the Company’s Currency.

To ensure the values that are shown are correct you must ensure that you have correctly set the currency exchange rates for any currencies that you use, including for the company’s currency.