View source | Discuss this page | Page history | Printable version   
Main Page
Upload file
What links here
Recent changes

PDF Books
Add page
Show collection (0 pages)
Collections help


Coworking:Sales Order

This article is protected against manual editing because it is automatically generated from Openbravo meta-data. Learn more about writing and translating such documents.
Back button.png   Back to Coworking:Sales Management



A sales order is a document that specifies products and/or services ordered by a specific business partner (customer), as well as the price and terms and conditions.

The Sales Order window allows to register sales related documents with different purposes which is regulated by the Transaction Document field. Depending on the chosen value, the consequences when booking the sales order will be different. These are the types of sales order documents that are available:

Sales Order transaction document.png
POS transaction document.png
Warehouse transaction document.png


The sales order header allows to create a sales order and process it when ready.

The sales order Header lists the main terms and conditions related to the customer order that will be used in the heading of its printed copy and further in its shipment and invoicing process.

It is possible to create new Standard Sales Order, Warehouse and POS Orders as a conversion from an existing Sales Quotation

While creating a new sales order in this window:
in majority of the cases main (and the only) field needed to create a new sales transaction document is the Business Partner field. All other fields are automatically populated based on the selected Business Partner, logged in User preferences and other system default parameters.

Some other fields to note are:

Bulbgraph.png   Note: Reservations are disabled by default. To be able to use them please insert a new Preference using property Enable Stock Reservations with value Y. For more information visit Stock Reservations
Bulbgraph.png   Note: Payment Status field is available from 15Q4. It is disabled by default (but you can change it taking below into account) because filtering or sorting using this field (similar to Delivery Status and Invoice Status) can cause performance issues in environments with large volumes of data. In the 16Q2 release, we plan to add new Openbravo Platform functionality to enable / disable filtering & sorting for columns from the Application Dictionary and after this we will enable Payment Status with the corresponding restriction of sorting and filtering by default.

Below fields are defaulted according to the Customer and Location tabs of the Business Partner window.

There are 3 ways of entering lines into a sales order:

  1. Copying selected products from a history of products ordered by this customer using the Copy Lines button.
  2. Copying all products from the chosen order selected in the history of all orders for different business partners using the Copy from Order button.
  3. Manually, line by line, obviously in the Lines tab.

Sales order prepayment

Once a sales order is booked, it is possible to prepay an order by using the process button "Add Payment". Openbravo shows "Add Payment" window.


Same as described for Sales Invoice Payment, this window allows to fully or partially prepaid the order created more than once, and even pay other orders and/or invoices at the same time.

It is also possible to add any type of expense related to the payment of that order as a G/L item and even use available credit previously generated for the customer.

Once all of that is properly fulfilled, the payment can be processed or processed and deposit from the financial account.

It is important to remark that the sales invoice created from the order will inherit the payment done for the order.

Cancel and Replace

Once a sales order is booked, a new button is displayed in Sales Order named as "Cancel and Replace". This functionality will be hidden by default. In order to enable it, there is a preference called "Enable Cancel and Replace" that will be needed to activate.

Cancel and Replace (C&R from now) is a new functionality which closes a booked sales order and creates and replaces the order with a new copy of it in "Draft" status. This process simulates the functionality of modifying a booked ticket, allowing to modify the existing lines quantities, add new lines and remove lines from the new ticket (except for the already delivered units).

In order to complete this process 3 documents are involved in the process:


Clicking on that button and after confirming the action, a new order is generated and loaded in draft status. This order is the order that will replace the previous one when the process of Cancel and Replace is confirmed.


1) The order is in draft status.

2) The document number of the generated order is the same document number than the original order, but adding a ‘-1’ at the end of it. If this new order gets replaced in a future, its document number would be the same number but with ‘-2’, and so on.

3) A new button appears with name "Confirm Cancel and Replace" for this order. After doing the desired changes in the draft order, the user must click on this button to complete the C&R process (close the original order, create the inverse order and book the new one).

At this point (before clicking on the confirmation button) the user is able to modify the order, adding or removing lines or changing the quantity of them.

Is important to remark that a line that has previously delivered units cannot be removed or its quantity cannot be lowered down to the delivered quantity. Otherwise, the user can add new units without any problem.

Confirm Cancel and Replace process

After clicking on the confirmation button the C&R process will be finished. The old order is closed and the inverse order is created being a copy of the original order but in negative. The lines will be exactly as the original lines, but also with negative quantities.

As happens with the new generated order, the document number is the same than the original order but adding a ‘*R*’ at the end of it.


1) Negative quantities for the inverse order and lines.

2) Document number generated for the inverse order. The document number is the same than the original order but adding a ‘*R*’ at the end of it.

The new order will be set to book status, maintaining the changes done by the user. In this example an avalanche transceiver unit has been removed and an insect repellent has been added.


There are some flags and fields at order level that have the information about the relations between the different orders managed in C&R.



An order can have the ‘Is Canceled’, ‘Replacement Order’ and ‘Replaced Order’ at the same time in case that a C&R is done for an order that was generated by another C&R process.

Payments and Shipments in Cancel and Replace Process

If the original order has payments, the new order must have the same amount paid than the old order. At the same time, the inverse order must be fully paid (with negative payments).

After doing the a C&R, both old and inverse order will be fully paid.

Netting Payment

To manage this situation a netting payment is created with up to three different details (old order detail, inverse order detail and new order detail). This payment will always have an amount of 0 as a result of the sum of each detail and it will be used to adjust the paid quantity after doing the C&R process.

The number of details created depends on the payment status of the original order.

There can be three different cases:

* Old order with paid amount of 0: In this case, the netting payment will have 2 details. The first detail will fully pay the original order and the second detail will create a negative detail that pays completely the inverse order. This two detail will have the same amount but with different sign. The new order will have the same payment amount that the old order had, 0 in this case, so any payment won’t be created for this order.
     Example: Initial order with amount of 301 and without any payment.
     After doing C&R the status will be:
      * Initial order with a detail with quantity 301 (Netting Payment). Fully paid.
      * Inverse order with a detail with quantity -301 (Netting Payment). Fully paid.
      * New order without details. 0 paid (as the initial order was before).
     The sum of details will be: 301 + (-301) = 0.
* Old order with partial payment:In this case, the netting payment will have 3 details. As in the previous case, the first detail will pay fully the original order (but in this case the amount won’t be the orders total amount), the second detail will fully pay the inverse order and the third detail will pay for the new order the same amount paid initially in the old order.
     Example: Initial order with amount of 301 and with a payment of quantity 100.
     After doing the C&R the status will be:
     * Initial order with two details: a detail of quantity 100 (payment 100) and a second detail of quantity 201 (Netting Payment). Fully paid.
     * Inverse order with a detail of quantity -301 (Netting Payment). Fully paid.
     * New order with a detail of 100 (Netting Payment). 100 paid (as the initial order was before).
     The sum of details will be: 201 + (-301) + 100 = 0.
     Payment Details after completing C&R process:
     * Original Order: 
       * There are two details, the old detail and the detail generated during the C&R process. This new detail is the detail that belongs to the netting payment. 
       * All details that belong to a netting payment show its payment method and the financial account as blank. This doesn’t mean that those fields are null. Those two fields stores its values in the database, but are shown like they were null to be more visible that is a detail of a netting payment. 
       * Also the document number of a netting payment is different to a normal payment. Those payments finishes with an ‘*R*’.
     * Inverse Order:
     * New Order:
* Old order fully paid: In this third case, the netting payment will have 2 details. The first detail will fully pay the inverse order and the second will pay the same quantity paid in the first order.
     Example: Initial order with amount of 301 fully paid (payment of quantity 301).
     After doing the C&R the status will be:
     * Initial order with a detail of 301 (payment 301). Fully paid.
     * Inverse order with a detail of quantity -301 (Netting Payment). Fully paid.
     * New order with a detail of 301 (Netting Payment). Fully paid.
     The sum of details will be: (-301) + 301 = 0.

Netting Payment example


Netting Shipment

After doing C&R, the old and inverse orders will be completely delivered, even if they were not previously delivered. As happens with payments the new order will have the same deliveries than the old order had. Remember that delivered unit cannot be lowered or deleted from the new order when it is in draft status.

At order level, even if the lines are fully delivered, the old and inverse order will always be shown with a 0% delivery status. In the other hand, as the new order is the new active order, its delivery status will work as usual, being 50% if its units are delivered at 50%.

 * Example: There is a booked ticket with two ‘Avalanche transceiver’ units, all delivered. Do C&R process for that order, adds two ‘Avalanche transceiver’ and confirm the process.
   * The original ticket is closed and its line has an associated shipment with a movement of two. The order's delivery status is 0%.
   * The inverse order has a line with -2 units without deliveries. The order's delivery status is 0%.
   * The new order has a line with 4 units, but only two delivered. This two delivered units don’t have related shipments. The order's delivery status is 50%.

"Create netting shipment on Cancel and Replace" preference:

There’s a preference named "Create netting shipment on Cancel and Replace" that creates the netting shipments explained before. If this preference is not active, the netting shipment will not be created, but still the delivered quantities that the netting shipment will have to affect will be updated the corresponding Orders.

Netting Shipment example: CRNettingGoodsShipment.png

"Cancel and Replace - Associate shipment lines to new ticket" preference

This preference only works if the previous "Create netting shipment on Cancel and Replace" is not enabled. The aim of this preference is to be able to assign the shipments related to the original order lines to the new order lines. In other words, the active order lines will be the lines that will have the shipments related.


Lines tab allows to add the products to be included in your sales order. Each product is added by creating a line.

Lines tab lists each product ordered and its characteristics.


Fields to note:

Explode button is shown when selecting a line with a non-stockable BOM product and the product has not already been exploded. When exploding a product, the bill of materials components the selected product consist of are shown in the order. Once you have explode it, you cannot comprime it. You should delete all the lines (first bill of materials components and then the BOM product), and insert again the non-stockable BOM product.

Book button completes the sales order when all the products are entered. If there are non-stocable BOM products and they have not been exploded, the Book process will explode them.

Close button actions closes an order, which implies that :

Warehouse Rule implementation examples

Example 1 You have defined two on hand warehouses for an organization. Warehouse North (priority 10): Unique Attribute warehouse rule

Warehouse South (priority 20)

Create a sales order with quantity 60 and warehouse rule Unique Storage Bin. Book the sales order. Go to create shipments from order and select the newly created sales order. Process it and you will have a good shipment with 60uds taken from Warehouse South-Storage bin S1.

Example 2 You have defined two on hand warehouses for an organization. Warehouse North (priority 10): Unique Attribute warehouse rule

Warehouse South (priority 20)

Note:lotA and lotB are instance attributes for the same product. Create a sales order with quantity 22. Complete the sales order. Go to "create shipments from order" and select the newly created sales order. Process it and you will have a good shipment with 2 lines:

Stock reservations

Sales Order lines can be reserved when the sales order is booked and is pending to deliver.

Fields to be noted:

Manage Reservation pick and execute

Using the Manage Reservation button is possible to open a Pick and Execute window to create and modify reservation for the Sales Order Line. The grid shows all the available stock that can be delivered and the pending to receive purchase orders.


In the grid it is possible to select and set the desired quantity on any available stock. There are validations to avoid setting quantities higher than the available for the specific stock or than the ordered quantity. The Done button will create and process a reservation if none exists with the selected options, note that if the reservation does not exists and the Done button is pressed without selecting any stock or selecting a quantity below the ordered quantity, when the reservation is processed the system will reserve the remaining quantity with the available stock. If a reservation already exists the reserved stock will appear automatically selected and the Done button will update the reservation with the changes done. It is also possible to flag a stock as allocated.

Bulbgraph.png   Note: When the selected Product has the flag Variable Quantity set as true, it is possible to Reserve more Quantity than the Quantity ordered. But be careful, when a Shipment is generated against this Order Line and it is Completed (with the same Quantity or more than in the Order Line), the Reservation will be closed and the Reserved Quantity will be set as the same amount as the Order Quantity to prevent further inconsistency problems. So, it is possible to Reserve more Quantity than Ordered when a Product is set as Variable Quantity, but the Reservation will be set as the original Ordered Quantity when a Shipment is made.

Line Tax

For each sales order line, Openbravo automatically populates the line tax related information in this tab.

Line Tax read-only tab details taxes information for each line of a sales order based on its Tax field which is automatically pre-filled according to the Taxes Setup.


Reservation associated with the sales order line


Reserved Stock

Relation of reserved stock and prereserved purchase orders related to the Sales Order Line


For each reserved Sales Order line it is possible to review the reserved stock. It is shown the quantity, storage bin and attribute set value when applies. If there is part of the sales order prereserved it will be also shown the purchase order line. When a prereservation is converted to a reserve it will still have the original Purchase Order Line, but the later will also have a Storage Bin defined. While all prereserved have the Storage Bin blank.


Edit taxes applied to your order.

Summarizes tax related information for the whole sales order. Contains as many records as tax rates used in the order.

Payment Plan

Shows the total amount expected to be collected upon order booking as well as the amount/s pre-paid or paid against the invoice/s for the order.

Shows total payment amount expected for the order and its fulfillment. This tab is read-only and is populated after processing the document.

Please visit Commons Section for more details.

Payment Details

Displays the details of the payments (pre-payments or regular payments) received for the order or for the invoice/s of the order.

Displays the details of the payments (pre-payments or regular ones) received for the order.

Full list of Sales Order window fields and their descriptions is available in the Sales Order Screen Reference.

Back button.png   Back to Coworking:Sales Management

Retrieved from ""

This page has been accessed 1,032 times. This page was last modified on 13 June 2013, at 15:52. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.