View source | Discuss this page | Page history | Printable version   

Shipments Awaiting Invoice/Specifications


Shipments Awaiting Invoice - Functional Specifications



This feature will only be adding a report: no existing Openbravo ERP functionality will be modified.

Page design

Following the structure of Orders Awaiting Invoice Report (Sales Management || Analysis Tools || Orders Awaiting Invoice Report), create a report that shows which are the shipments awaiting to be invoiced.

Functional Requirements

User roles & profiles

Sales Managers
Sales Managers may be interested in query which shipments have not been invoiced yet. For this purpose, they report shipments awaiting delivery showing each shipment line which has not been invoiced yet with the amount to be invoiced (the amount displayed in the order line associated) and the discount of the corresponding order line (if any).

Business process definition

  1. Create a new sales order.
  2. Create the corresponding shipment.
  3. Report shipments awaiting invoice.

Pending amount calculation:

We need to take in account an eventual price adjustment. As a result, the Unit Price must be used for this amount; moreover, the existing standard report (Orders awaiting invoice) is also using this field.

ShipementAwaitingDelivery Small.png

User stories

Jimmy, the sales manager of a T-Shirt company, wants to know if its last big shipment has already been invoiced or not. This shipment had document number ZSY-874-RQ and was composed by:

Jimmy reports shipments awaiting invoice introducing shipment number ZSY-874-RQ in the filter window and retrieves the following detail data:

Shipment Date Amount Invoiced Pending Status Form of Payment Payment Terms
01-06-2009 35.2 Completed Cheque 90
01-07-2009 3900 Completed Cheque 60
01-04-2009 -800 Closed Wire Transfer 30

Functional requirements based on business processes

Num Requirement Importance Status
1.1 HTML filter window with the following fields and buttons (The cursor positions should follow this fields sequence):
  • From Date: date selector to filter by the movement (shipment) date.
  • To Date: date selector to filter by the movement (shipment) date.
  • Business Partner: shipment's business partner selector.
  • Organization: drop-down listing all the organizations that user's role has access to.
  • Shipment Document No.: text box for entering the complete or partial shipment document number (shipment document number in our Openbravo ERP system).
  • Order Document No.: text box for entering the complete or partial order document number (sales order document number in our Openbravo ERP system).
  • Form of Payment: a drop-down that displays all the possible forms of payment ("Bank Deposit", "Bank Remittance", "Cash", "Cash on Delivery", "Check", "Credit Card", "Maximum", "Money Order", "On Credit", "Promissory Note", "Wire Transfer", "Withholding")
  • Payment Terms: a drop-down that displays all the possible payment terms ("Fifteen days", "Immediate", "One month", "Two months, 10th", etc...)
  • Delivery Terms: a drop-down that displays all the possible delivery terms (After Receipt, Availability, Complete Line, Complete Order)
  • HTML Format: button to display the report in a new window in HTML format.
  • PDF Format: button to display the report in a new window in PDF format.
Must have Complete
1.2 A check that To Date is greater or equal to From Date when entering the values. Must have Complete
1.3 Order Document No. and Shipment Document No. filters will not look for the exact match but for a similar match: c_order.documentno LIKE UPPER('%'text_typed'%') ; m_inout.documentno LIKE UPPER('%'text_typed'%') Must have Complete

Num Requirement Importance Status

The report must show the following fields. In order to keep a good visibility, the monetary amounts will be showns in base currency only (Euro in Europe):

  • Header
    • Organization (Group by)
    • Business partner (Group by)
    • Shipment Number
    • Shipment date
    • Amount
    • Shipment Status
    • Shipping Company
    • Payment Terms
    • Form of payment
  • Lines
    • Material
    • Qty Sold (Quantity Sales order)
    • Qty Shipped (Quantity Shipment)
    • Qty Invoiced (Quantity Shipment)
    • UOM
    • Price (Base currency)
    •  %Tax
    • Base (Base currency)
    • Amount (Base currency)
    • Amount Invoiced Pending (Base currency)
Must have Complete
2.2 Data must appear grouped by:
  • Organization
  • Business Partner
  • Sending Address

Note: For the address, in order to improve the visibility, I suggest to only keep the Postal code, the City and the Region.

Must have Complete
2.3 If any of the data shown has a translation into user's language (form of payment, payment terms, etc...) it must appear translated. Must have Complete
2.4 If a shipment has been completely invoiced, it will not appear in the report. Must have Complete
2.5 Only shipments based on orders will appear (association one order line to many shipment lines). Must have Complete

Page filters

The filter window will require the following fields and buttons:

User Interface Mockups



Technical Requirements

This report will be designed using iReport 3.0.0.

Non-Functional Requirements

Open Discussion Items

  1. Status shown in report detail is the shipment or the associated order one? PMA: Shipment Status
  2. Would it be useful to include shipment Document No. filter field and be displayed in the report? We may want to know if a specific shipment has been invoiced or not. PMA: I agree, I added this field with some other to follow the "Orders awaiting invoice" logic.
  3. Would it be useful to display shipping company in the report? In case that a shipment has been done but not invoice, we may want to call the shipping company to know which is the status of this shipment (if the shipping company says that it arrived to the customer, we may want to know why the customer did not pay the invoice yet). PMA: Good Idea, I add this field. But most of time the value will be empty (if Delivery Method <> "Shipper")
  4. PMA: Outer join in queries will have to be used between C_OrderLine and M_InOutLine to preserve the consistency for Invoicing of Shipment without Sales Order.

Closed Discussion Items

Retrieved from ""

This page has been accessed 522 times. This page was last modified on 26 March 2018, at 15:59. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.