Shipments Awaiting Invoice/Specifications
Contents |
Shipments Awaiting Invoice - Functional Specifications
Overview
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
- Create a new sales order.
- Create the corresponding shipment.
- 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.
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:
- 1000 XL Black T-Shirts
- 2000 L Red T-Shirts
- 100 M Black T-Shirts
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):
| 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 |
---|---|---|---|
2.1 |
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):
| Must have | Complete |
2.2 | Data must appear grouped by:
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:
- 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.
- Delivery Terms: a drop-down that displays all the possible delivery terms (After Receipt, Availability, Complete Line, Complete Order)
- 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).
- Currency: currency drop-down list to display the amounts.
- 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...)
- 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.
User Interface Mockups
- Filter window
- Report
Technical Requirements
This report will be designed using iReport 3.0.0.
Non-Functional Requirements
Open Discussion Items
- Status shown in report detail is the shipment or the associated order one? PMA: Shipment Status
- 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.
- 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")
- 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.