Invoices

Although invoices are not paid in Maintenix, invoice records must be created so that orders can be closed. When an invoice is validated for payment, Maintenix closes the order. Invoices may be created automatically or you can create them manually.

Typically when you create an invoice from a purchase order, the invoice lines are automatically mapped to the purchase order lines. In some cases, including when you try to validate an invoice and receive an error message that an invoice line isn't mapped to an order line, you must manually map invoice lines to order lines.

Before your finance department pays an invoice, you must validate the invoice for payment to ensure that the part number, price, and quantity match the invoice, the material ordered, and the material received. This validation is called three-way matching and it can be done in Maintenix or an external system. The Finance API can be used to communicate between Maintenix and external systems. You can also configure the MX_CORE_VALIDATE_OPEN_INVOICE job to validate invoices and mark them for payment (see the Maintenix Administration Guide).

The following scenarios describe possible invoice creation and three-way matching processes:

Invoices manually created in Maintenix
When you receive invoices from vendors, you create invoices manually in Maintenix. If the invoice includes multiple purchase orders, you map the invoice lines to their corresponding order lines (for both part and non-part lines). To perform the three-way matching, you validate the invoice for payment, resolve any discrepancies, and mark the invoice for payment. Matching and invoice information is then communicated to an external financial system through the Maintenix Finance API (or an alternative mechanism). Once the invoice is paid, the external system sends a message to mark the invoice as paid in Maintenix.
Invoices created and matched in an external financial system
Invoices can be created and matched in an external financial system. Invoice information is then communicated to Maintenix through the Maintenix Finance API and a duplicate invoice with a TOBEPAID status is created in Maintenix. (This status indicates that the invoice is validated). Once the invoice is paid, the external system sends a message to mark the invoice as paid in Maintenix.
For more information, see the Maintenix Finance API Guide.
Invoices created through the Maintenix AeroBuy Parts Purchasing feature
Through the Maintenix AeroBuy Parts Purchasing feature, invoices are received electronically from vendors and automatically created in Maintenix. To perform the three-way matching, you validate the invoice for payment, resolve any discrepancies, and mark the invoice for payment. Invoice information is then communicated to an external financial system through the Maintenix Finance API (or an alternative mechanism). Once the invoice is paid, the external system sends a message to mark the invoice as paid in Maintenix. Note that if an Maintenix PO has multiple lines, there is one AeroBuy PO and one corresponding invoice for each line. Therefore an AeroBuy invoice that's validated for payment only closes an Maintenix PO if it is for the remaining quantity of the whole order which has not yet been paid for.
For more information, see the Maintenix AeroBuy API Guide.
Invoices can be created manually or through the AeroBuy API for orders that were issued at least once and that have a status of OPEN, AUTH, ISSUED, ACKNOWLEDGED, PARTIAL, or RECEIVED. When invoices are created through the Finance API, they are created as validated and therefore cannot be created for orders with an OPEN status. You can create invoice records for the following order types:
  • Purchase orders
  • Borrow orders
  • Exchange orders
  • Consignment orders
  • Repair orders
  • Mixed orders (orders containing lines from different order types)
You cannot create invoice records for consignment exchange orders.

Vendors reuse invoice numbers, so invoices with the same invoice number and vendor code can be manually or automatically created in Maintenix if the existing invoices have a PAID or CANCEL status. If more than one invoice in the system has the same vendor code and invoice number, only one can have a TOBEPAID status.

Configuration options for payment validation

Procurement departments can define limits on the approval of invoice payments using a variety of configuration parameters. As long as the price on the invoice and the order match within the allowable limits, the invoice can be validated for payment. You can set both a percentage difference tolerance value and a fixed dollar difference value and the two settings work together. You might want to set both percentage and fixed difference values because 2% of a $100,000 order is a very different amount of money than 2% of a $1,000 order.

Here's an example of how the tolerances work together: You set a 2% tolerance limit and $200 fixed dollar tolerance limit with the following results on a purchase order line for $20,000:
  • A corresponding invoice is received for $20,100. The $100 price difference for the line is within both the percentage and the fixed dollar difference tolerance. The invoice line can be three-way matched and the invoice can be validated for payment.
  • A corresponding invoice is received for $20,250. The $250 price difference for the line is within the percentage difference tolerance but is not within the fixed dollar difference tolerance. The invoice line cannot be three-way matched and the invoice cannot be validated for payment. The invoice agent must determine how to resolve this discrepancy.
When invoices are validated for payment, Maintenix checks the following settings and provides warning or error messages when appropriate.
  • INVOICE_ALLOW_OVERINV: Determines whether an invoice can be validated when a unit price on an invoice is greater or less than a unit price on the originating order. If TRUE, the price difference between the invoice and the order must be within the tolerance limits set for the INVOICE_TOLERANCE_PCT and INVOICE_TOLERANCE_FIXED parameters.
  • INVOICE_TOLERANCE_PCT: The maximum percentage allowed for the difference between the price on a purchase order and the price on the associated invoice. If the price on the invoice exceeds the price on the purchase order by this percentage or less, users can validate the invoice for payment, when INVOICE_ALLOW_OVERINV is set to TRUE.
  • INVOICE_TOLERANCE_FIXED: Acceptable fixed dollar difference between the invoice price and the price on the originating order. When INVOICE_ALLOW_OVERINV is set to TRUE, if the price on the invoice exceeds the price on the order by the fixed tolerance value or less, users can validate the invoice for payment, .
  • INVOICE_ALLOW_UNMAPPED_LINES: Depending on the OK, Warn, or Error value, an invoice that includes a miscellaneous line that isn't in the originating order (and is unmapped to an order line) can or cannot be validated for payment. This setting does not affect part lines in an invoice, only miscellaneous lines).
  • INVOICE_ALLOW_OVERINV_ISSUE Depending on the WARN or ERROR value, users can validate an invoice for payment when the invoice is for a consignment order and specifies a quantity of items greater than the quantity that was issued for maintenance.