Financials

Approve Invoice

This action is accessed via Financials > Payment Invoice Management > Payment Invoice > Actions > Financials > Invoice > Approve Invoice.

The Approve Invoice action approves an invoice that is not yet approved or approves an adjustment to an invoice that has already been approved. The approval and adjustment can be done by line or by total depending on the property setting for the property: glog.invoice.approveByLine.

You can approve multiple invoices at a time. However, you won’t be able to approve multiple invoices in case the property glog.invoice.approveByLine is set to true. Attempting to approve multiple invoices in such a case will result in an error message.

Note: Child invoices cannot be individually approved/unapproved or adjusted.

Note: While approving an invoice, VAT amounts are calculated on the voucher based on the planning parameter CALCULATE VAT ON VOUCHER. The application calculates VAT amounts at the VAT code level (Voucher VAT Analysis) and voucher invoice line item level (Voucher Invoice Line VAT).

Note: While approving an invoice, the VAT calculation on the voucher uses either the Provincial VAT Engine or the Euro VAT Engine based on the planning parameter VOUCHER VAT TAX TYPE.

Note: If you cannot approve or adjust an invoice, it may be because the payment amount exceeds the approval limits assigned to you, or the invoice approve rule has not been assigned to an invoice approve rule profile or the profile has not been assigned to a user. See Payment Rule Manager Overview.

Note: During invoice approval for a shipment group, secondary charge shipments of that shipment group will also be considered for calculating the total shipment group cost.

Note: The button New Line Item will be displayed/hidden based on the value of the property glog.invoice.manualApprove.disableAddNewInvoiceLineButton. If the value is true, the button will not be displayed.

Approve/Adjust Invoice(s)

The Approve Invoice action enables you to approve multiple payment invoices, overriding any auto-approve rules that may apply. Only invoices that have been matched to buy shipments can be approved for payment.

When you manually approve invoices, their status changes to APPROVAL_Approved_Manual, and payment vouchers are created, but not issued. Vouchers are created in the same domain as the invoices.

When you approve a parent consolidated invoice, all of its child invoices are approved, and a single voucher is created for the parent invoice.

Approved invoices can be edited or deleted. However, before the shipping costs of approved invoices can be allocated, their payment vouchers must be issued by using the Send Voucher Interface action in the Payment Invoice Manager.

Note: In case of split invoices, OTM does not support the invoice approval process.

Note: A consolidated invoice of split invoices may not pass the approval rule. While approving the consolidated invoice each child invoice is passed through the approval, so you must set the tolerance high so that it passes the approval.

Note: A maximum of 25 invoices can be approved at a time.

Adjusting invoices enables you to change the payment amounts. For an invoice to have its payment amount adjusted, it must meet these conditions:

  • The invoice has been matched to a buy shipment.
  • The invoice has been approved for payment.
  • A payment voucher has been issued for the invoice.

When you adjust an invoice, either by reducing or increasing the net amount due, an additional voucher is created for the invoice. For example, if an invoice is approved and issued for $1000.00, and then it is discovered that the actual charges are $900.00, you would adjust the payment by a negative $100.00. In that case, two vouchers would be associated with the invoice, one for $1000.00 and one for -$100.00.

Note: Adjusting an invoice does not apply to child invoices.

The Approve Invoice window displays the following fields:

  • Invoice ID: Displays the ID of the selected invoice.
  • Consolidated: Indicator to show if the selected invoice is consolidated.
  • Invoice Amount: Displays the net amount due for the invoice.
  • Previous Approved Invoice Amount: Displays the total amount that has been approved so far for a particular invoice. This is calculated by summing the amounts to be paid for all the vouchers that have been created previously for that invoice.
  • Shipment ID: Displays the shipment ID of the matched shipment for an invoice. This field will be blank if no matched shipment is found or if the selected invoice is consolidated.
  • Shipment Amount: Displays the total actual cost of the matched shipment. In case the selected invoice is consolidated, this value will be the sum of the actual costs of all the matched shipments.
  • Previous Approved Shipment Amount: Displays the total amount that has been approved so far for a shipment. This is calculated by summing the amounts to be paid for all the vouchers for all the invoices present for that shipment.
  • Shipment Group ID: Displays the shipment group ID of the matched shipment group for an invoice.
  • Shipment Group Amount: Displays the total actual cost of all the shipments (including secondary charge) of the shipment group.
  • Previous Approved Shipment Group Amount: Displays the total amount that has been approved so far for the shipment group.
  • Amount to Pay: Displays the amount to be paid against an invoice which is being approved/adjusted. this is a mandatory input field.
  • Adjustment Reason: This field will be populated on the voucher that gets created.
  • Note: This field will specify any note when approving/adjusting an invoice.

Approve/Adjust the Invoice Manually:

  1. Select the Approve Invoice action. A pop-up window opens based on the following:

    If the property glog.invoice.approveByLine is set to true, then approval details by line with the line approval tolerance checked will be displayed. For more details refer to the section of Approving an Invoice by Line below. If there are any items on the invoice that are out-of-tolerance, a red indicator displays beside the line item in case of Approve Invoice by Line.

    If the property glog.invoice.approveByLine is set to false, then the approval details by total will be displayed. For more details refer to the section of Approving an Invoice by Total below.
  2. Enter the amount to be paid against an invoice which is being approved/adjusted in the Amount to Pay field.
  3. To use a different currency, select a currency from the drop-down list. To convert the payment amount to another currency, update your currency user preference.
  4. If needed, enter an Adjustment Reason IDs in the Adjustment Reason field. An adjustment reason is a standard or user-defined rationale (for example, a pricing error) for modifying data on an invoice.
  5. If you want, enter a note in the Note field.
  6. Click Finish.

    Note: To unapprove the payment of an invoice for which a payment voucher has not been issued, use the Unapprove Invoice action.

Vouchers will be created for invoices for which the approval/adjustment was successful. For the invoices where approval failed, the error will be displayed when you click View in the corresponding Error column.

Approve an Invoice by Line

If the property glog.invoice.approveByLine is set to true (the default), the invoice approval is by line.

Approval by line assumes that the line approval rule is applied to each line item associated with a shipment cost individually. OTM tries to group the invoice lines based on the cost type. If two invoice lines have the same cost type, they can optionally be grouped by the following additional fields:

  • Accessorial Code
  • Payment Method
  • General Leger Code

Consideration of these fields while grouping will be based on the following properties being set to true or false. If the property is set to true, OTM will consider grouping the invoice lines based on the corresponding field.

As mentioned above, the shipment costs are also grouped the same way as invoice lines.

For example, consider shipment cost details and invoice line details given in the following table:

Shipment Cost Details

Invoice Line Details

Cost -100

Cost Type - Base

Accessorial Code - N/A

Cost -100

Cost Type - Base

Accessorial Code - N/A

Cost -20

Cost Type - Accessorial

Accessorial Code - FSC

Cost -20

Cost Type - Accessorial

Accessorial Code - FSC

Cost -20

Cost Type - Accessorial

Accessorial Code - DOC

Cost -20

Cost Type - Accessorial

Accessorial Code - DOC

 

OTM will try to match invoice lines to shipment costs from the same group. For each group, OTM will match invoice lines to the shipment costs. So, it is expected that each group will have one invoice line and one shipment cost.

The optional feature "ENABLE IMPROVED INVOICE APPROVAL LOGIC" is enabled by default and when it is enabled, the approval of invoice by line works with the new enhanced logic as described below.

With the new enhanced logic, you will be able to apply tolerance checks either after matching each invoice line item with a shipment cost or after matching aggregated invoice line items with aggregated shipment costs.

Whether line items and shipment costs are aggregated or not depends on the selection of the Aggregate check box on the Line Approval Tolerance Rule. Using the Line Aggregation Constraint Set, you can specify the rules for grouping invoice line items. 

If the Aggregate check box is selected and the Line Aggregation Constraint Set is specified, the application will compare the aggregated cost of the invoice line items grouped with the line aggregation constraint set with that of the aggregated cost of an associated shipment costs grouped with the line aggregation constraint set. Otherwise, each invoice line item in a group will be associated with a shipment cost in the corresponding shipment cost group.

If the Aggregate check box is not selected and the Line Aggregation Constraint Set has not been specified, the grouping of invoice lines and shipment costs will be performed based on the cost type and the below property values being true or false. By default, all the property values are set to true.

If the Aggregate check box on the Line Approval Tolerance Rule is selected, then OTM tries to match one or multiple invoice lines to one or multiple shipment costs within the same group.  OTM will aggregate matched invoice lines and shipment costs based on the Line Aggregation Constraint Set to check tolerance.

As per the below example, two groups will be formed for both invoice lines and shipment costs:

  1. One group for the Cost Type Base.
  2. One group for the Cost Type Accessorial.

Shipment Cost Details

Invoice Line Details

Match Status

Cost -100

Cost Type - Base

Accessorial Code - N/A

Cost -100

Cost Type - Base

Accessorial Code - N/A

Two invoice lines (Base) matched to one Shipment Cost (Base)

 

Cost -100

Cost Type - Base

Accessorial Code - N/A

Cost -20

Cost Type - Accessorial

Accessorial Code - FSC

Cost -20

Cost Type - Accessorial

Accessorial Code - FSC

One invoice line (Accessorial) matched to one Shipment Cost (Accessorial)

On successful approval of the invoice, matched shipment cost details will be stored. Additionally, the Preprocess Status field on the invoice line item will be updated.

Let's look at the following scenarios where OTM will not be able to approve the invoice accurately:

  • When you perform Adjust Shipment Costs and Invoice Adjustment Cost actions, you need to make sure that the adjusted shipment costs and the adjusted invoice lines can be matched. OTM will not be able to approve the invoice accurately if grouping of shipment costs or invoice lines are having more than one item in them. In this case, OTM will not be able to match shipment costs to invoice lines.
  • If a shipment has two invoices and the invoice lines cannot be matched to the shipment costs i.e. each of the invoice lines does not correspond to one shipment cost then OTM will not be able to approve the invoice accurately.
  • When you perform the Invoice Adjustment Cost action, a new invoice is created if there is an existing invoice for the shipment and is already approved. Then, the adjusted cost in the shipment may not match to the invoice line of the new invoice if grouping of the shipment costs have more than one cost in the group. So, OTM will not be able to approve the invoice accurately. Before you perform this action, it is advised that the invoice corresponding to the shipment must not be approved. Then, the adjusted cost matches to the same shipment cost and OTM approves the invoice.

When you approve an invoice manually by line, OTM determines the amount to pay to be displayed for each of the invoice lines. Let’s look at the following scenarios:

The amount to pay depends on whether you are claiming or paying an amount through the invoice. When you match a shipment cost to an invoice line, OTM considers the lesser amount. If this amount is positive it implies that you are paying and a negative amount implies that you are claiming.

When paying, you pay the least possible. OTM determines how much of the shipment cost has been paid and the remaining balance to be paid from the shipment cost. Also, OTM determines how much of the invoice line amount has been paid and the remaining balance left in the invoice line amount. Out of the shipment cost and the invoice line balance amount, OTM considers the lowest between these two amounts and displays as amount to pay. If any of the amount is overpaid, which means that the shipment cost or the invoice line balance amount is negative, then OTM displays zero.

When claiming, you would try to claim as much as you can. OTM determines how much of the shipment cost and invoice line item amount is left to be claimed. OTM considers the highest amount which can be claimed. If any of these amounts are over claimed, then OTM displays the amount to pay as zero.

Approve Invoice by Line window displays the following fields:

  • Out of tolerance: Displays a red indicator beside the line item in case invoice line item is out of tolerance.
  • Line Item Sequence: Displays sequence number of each invoice line item.
    This field is not available when the optional feature "ENABLE IMPROVED INVOICE APPROVAL LOGIC" is enabled as the line items are aggregated based on the Line Aggregation Constraint Set. By default, the optional feature is enabled.
  • Description: Displays description of each invoice line item.
  • Accessorial Code: Displays accessorial code of the line item if any, in case invoice line item is of cost type Accessorial.
  • Shipment Amount: Displays shipment cost matched to the invoice line item. If there is no matching shipment cost, then no value is displayed.
    When the optional feature "ENABLE IMPROVED INVOICE APPROVAL LOGIC" is enabled, this field may display the aggregated shipment cost matched to one or multiple invoice line items based on the line aggregation constraint set. If there are no matching shipment costs, then no value is displayed. By default, the optional feature is enabled.
  • Invoice Amount: Displays payment amount of the invoice line item.
    When the optional feature "ENABLE IMPROVED INVOICE APPROVAL LOGIC" is enabled, this field may display the aggregated payment amount of the invoice line items based on the line aggregation constraint set. By default, the optional feature is enabled.
  • Previous Approved Amount: Displays previous approved amount, if there is any, corresponding to the invoice line item.
    When the optional feature "ENABLE IMPROVED INVOICE APPROVAL LOGIC" is enabled, this field may display the aggregated previous approved amount based on the line aggregation constraint set, if there is any, corresponding to the invoice line items. By default, the optional feature is enabled.
  • Amount To Pay: By default, this field displays the invoice line item cost. You can override this value.
  • Adjustment Reason: Adjustment reasons specify why adjustments are made to the amount due on invoices. They are entered at the time of the adjustment.

If the property glog.invoice.manualApprove.outOfToleranceRelatedFields.display is true, the following fields will be displayed in the manual approval screen:

  • Deviation Amount: Displays the difference between invoice amount (including Previous Approved Amount if any) and the shipment amount for each line.
  • Allowable Amount: Shows the allowable line level tolerance amount for each line based on the cost group.
  • Out-of-tolerance Amount: Shows the difference between the Deviation Amount and the Allowable Amount.

The following scenarios can cause costs on an invoice and shipment to be mismatched:

  • Invoice line items (costs) for which there are no matching shipment costs (unmatched invoice line items)
  • Shipment costs for which there are no matching invoice line items (costs) (unmatched shipment costs).

The following invoice properties are used for configuring tolerance checks of the above unmatched invoice line items and unmatched shipment costs:

  • glog.invoice.approveByLine.unMatchedInvoiceLineItems.checkTolerance
  • glog.invoice.approveByLine.unMatchedShipmentCosts.checkTolerance
  • Note: Manual approval of a balance due invoice (additional invoice received against a shipment) does not show the unmatched shipment costs if they have a corresponding previously approved line for the invoices matched and approved against this shipment, if the property set to: glog.invoice.approveByLine.unMatchedShipmentCosts.checkTolerance = false. If the property is set to true, shipment cost lines which have been previously matched and approved will display in the UNMATCHED SHIPMENT COSTS section and the tolerance checks will take the previous approved amount into consideration with corresponding invoice amount as zero.

Approve an Invoice by Line:

Line Tolerance Approval Rule Set Up:

By default, the optional feature "ENABLE IMPROVED INVOICE APPROVAL LOGIC" is enabled and when it is enabled, follow the below steps:

For approving an invoice by line without aggregation, follow the below steps:

  1. Clear the Aggregate check box (if selected) on the Line Approval Tolerance Rule page.
  2. Define the Line Aggregation Constraint Set either on the rule or using the property glog.invoice.approveByLine.newApprovalLogic.defaultLineAggregationConstraintSet. If the Line Aggregation Constraint Set is not defined, then the grouping of invoice lines and shipment costs will be performed based on the cost type and the property setting of the glog.invoice.approveByLine.matchCosts properties as described above.

For approving an invoice by line based on aggregation, follow the below steps:

  1. Select the Aggregate check box.
  2. Define Line Aggregation Constraint Set on the Line Approval Tolerance Rule page.

How to run the approve invoice action

Follow the below steps to approve the Invoice:

  1. Select the Approve Invoice action. The Line Items page opens.
  2. Select the appropriate invoice. The line details are displayed by line.
  3. You can enter the new amount in the Amount to Pay field for the corresponding line.
  4. Optionally, enter an Adjustment Reason.
  5. Optionally, enter a note.
  6. Click Finish.

The optional feature "ENABLE IMPROVED INVOICE APPROVAL LOGIC" is enabled by default and when it is enabled, on completion of the approve invoice by line process, matched shipment cost reference will be stored. Additionally, the Preprocess Status field on the invoice line item might be updated. Tolerance deviation detail will be persisted for an invoice line if only one invoice line is associated with one or multiple shipment costs.

Approve Invoice by Line based on Preprocess Status

When the optional feature "ENABLE IMPROVED INVOICE APPROVAL LOGIC" is enabled, OTM will approve the invoice based on preprocess status of the invoice lines. By default, the optional feature is enabled.

Let's look at the following scenarios related to the approval of invoice based on preprocess status of the invoice lines:

  • If all invoice lines have Preprocess Status field as blank, OTM will group the invoice lines with shipment costs and check for tolerance.
  • If the status of all invoice lines is MATCHED or UNMATCHED, then OTM will directly check tolerance for the invoice lines with the existing matched shipment costs based on the Line Approval Tolerance Rule detail.
  • If the status of all invoice lines is MATCHED_IN_TOLERANCE or UNMATCHED_IN_TOLERANCE status, then OTM will directly proceed to approve the invoice. 
  • If any of the invoice line statuses is MATCHED_OUT_OF_TOLERANCE or UNMATCHED_OUT_OF_TOLERANCE, then auto approval will fail. In case of manual approval, OTM will group the invoice lines with shipment costs and check for tolerance and will display the same in the result screen.
  • If invoice lines have different statuses other than MATCHED_OUT_OF_TOLERANCE or UNMATCHED_OUT_OF_TOLERANCE, then OTM will group the invoice lines with shipment costs and check for tolerance in case of both auto approval or manual approval.

Note: If Preprocess Status on the invoice line is not blank and: 
 - if the freight charge on the invoice line is modified then preprocess status will be updated to MATCHED or UNMATCHED.
 - if cost type, accessorial code, payment method code, or general ledger code is modified on the invoice line then preprocess status will be cleared.

Approve an Invoice by Line – Shipment Group

For the invoice related to a shipment group, if the property glog.invoice.approveByLine is set to true (the default), the invoice approval is by line.

Based on different use cases, the following table details the role of line approval tolerance rule and line item to shipment association when approving a shipment group related invoice:  

Case Description

Case 1

If no Line Approval Tolerance Rule Profile is defined on the service provider

Manual Approval

Line tolerance result (Approve by Line result page) will be created by comparing all line items with shipment costs of all shipments of shipment group and line level tolerance check will be presumed passed for all.

Auto Approval

Only header level tolerance will be honored while auto approving.

 

Case 2

If Line Approval Tolerance Rule Profile with rule (without line and shipment association) is defined on the service provider

Manual Approval

Invoice approval will be not processed. Rule must have a line item and a shipment association.

Auto Approval

Invoice approval will be not processed. Rule must have a line item and a shipment association.

 

Case 3

If Line Approval Tolerance Rule Profile with an invalid rule (for example, a rule with wrong effective date) is defined on the service provider

Manual Approval

 

Line tolerance result will be created by comparing all line items with shipment costs of all shipments of shipment group and line level tolerance check will be presumed passed for all.  

Auto Approval

Invoice auto approval will be not processed as no applicable rule will be found on the line approval tolerance rule profile defined on the service provider.

 

Case 4

If Line Approval Tolerance Rule Profile with a rule having a line and a shipment association is defined on the service provider

Manual Approval

Line level (with line to shipment association) tolerance rule will be honored.

Auto Approval

Both header level and line level (with line to shipment association) tolerance rule will be honored while auto approving.

 

Note: Line approval tolerance rule profile is defined on the service provider. Only shipments (including secondary charge shipments) having same the same service provider as on the invoice, will be considered for approval of invoice related to shipment group.

Invoice approval with line approval tolerance rule having a line to a shipment association :

  1. Firstly each line item must be associated with a shipment of the shipment group. Hence, you should define an association of the line item and the shipment based on a reference number qualifier in the Line Approval Tolerance Rule page.
  2. Once the matched shipment is identified for each line item, the line approval tolerance rule will be applied to each line item associated with a shipment cost (i.e. shipment cost of the matched shipment) individually.

Example

  1. Matching invoice line items to the shipments of the shipment group:

Note: Usually, here reference number represents the container number.

    1. Configuring reference number and qualifier:

      Line Items

      Invoice Line Item Reference Number Qualifier

      Reference Number

      Line_item1

      Shipment_ID

      S1_CN0001

      Line_item2

      Shipment_ID

      S1_CN0002

      Line_item3

      Shipment_ID

      S1_CN0002

 

    • On each line item, define a reference number qualifier and add a reference number value against it.

Note: For line items related to secondary charge shipments, no need of this entry as secondary charge shipments do not have container numbers.

    • On each shipment, define a reference number qualifier and a reference number value against it.
      • Shipments of Shipment Group

        Shipment Reference Number Qualifier

        Reference Number

        S1

        Container_Number

        S1_CN0001

        S2

        Container_Number

        S2_CN0002

 

Note: For secondary charge shipments, no need of this entry as they do not have container numbers.

      • In the Line Approval Tolerance Rule page, add details in the Invoice Line Item to Shipment Association section. Define the reference number qualifier of the invoice line to be matched with the reference number qualifier of the shipment.

        Invoice Line Item to Shipment Association

        Invoice Line Item Reference Number Qualifier

        Shipment Reference Number Qualifier

        Shipment_ID

        Container_Number

 

      • To apply this rule while approving an invoice, add this Line Approval Tolerance Rule on a Line Approval Tolerance Rule Profile, which must be added to the service provider associated with that invoice.
    1. Matching line item to shipment :
      • Each line item on the invoice is matched with the shipment based on the Invoice Line Item to Shipment Association detail provided on the line approval tolerance rule.
      • Retrieval of reference number:
        For each line item:  reference number is fetched against the Invoice Line Item Reference Number Qualifier retrieved from the line approval tolerance rule.
        For each shipment: reference number is fetched against the Shipment Reference Number Qualifier retrieved from the line approval tolerance rule.
      • Match each line item with shipments using reference number. Based on the reference number values:
         
        Line Item Shipment Description

        Line_item1

        S1 Line_item1 will be associated with S1 based on reference number value ‘S1_CN0001’.
        Line_item2 S2 Line_item2 will be associated with S2 based on reference number value ‘S2_CN0002’.
        Line_item3 S2 Line_item3 will be associated with S2 based on reference number value ‘S2_CN0002’.

 

  1. Comparing line items with shipment cost:
    After forming an association between shipment and line items.
  • For each matched shipment and corresponding matched group of line items, line approval rule is applied to each matched line item associated with a shipment cost individually.
  • Similar to approval by line for shipment related invoice, the application will form group for both invoice lines and shipment costs. The application will try to match invoice lines to shipment costs from the same group. For each group, the application will match invoice lines to the shipment costs. So each group will have one invoice line and one shipment cost.

The following scenarios can cause costs on an invoice and a shipment group to be mismatched:

  • If invoice line item is matched with shipment:
    • Invoice line items (costs) for which there are no matching shipment costs (unmatched invoice line items)
    • Shipment costs for which there are no matching invoice line items (costs) (unmatched shipment costs)
  • Invoice line items (costs) for which there are no matching shipment found, will be processed as unmatched invoice line items.
  • Shipment for which there are no matching invoice line items (costs) found, the corresponding shipment costs will be processed as unmatched shipment costs.

Note: When the optional feature "ENABLE IMPROVED INVOICE APPROVAL LOGIC" is enabled and the Aggregate check box on the Line Approval Tolerance Rule is selected, in the Line Approval Tolerance Rule page, the application will not consider the Invoice Line Item to Shipment Association detail for invoice lines which are aggregated during approval. By default, the optional feature is enabled.

 

Related Topics