When there is an error transmitting or creating any of the integration messages or documents into Banner, the Banner APIs produce an error. The Interface logs the API error in the FZBEPRC and messages from Unimarket in the FZRCXML table. The Interface also triggers error emails to one or multiple email addresses defined in the FTVSDAT records (FZKEPRC-UM ERROR EMAIL-TO). The emails are sent using the Oracle UTL_MAIL function from the underlying Oracle database of Banner.
This document will focus on the troubleshooting of the common errors received during new customer setup, testing and general usage.
Interface Logs
FZBEPRC Request log table – cXML messages from Unimarket to Interface
FZRCXML Banner PO and Invoice API log table
Invoice Common Errors
Purchase Order has not been posted
Sample
PO: PO163110
INVOICE: 56321237
API Error:
Purchase Order cannot be invoiced.
Purchase Order has not been posted to the ledgers.
Action
This error occurs when the PO has not posted. If the PO is not posted, the PO cannot be invoiced. Check to see if any other POs are failing, to ensure that posting is running.
The customer should look up the API error for the PO, fix the PO and then resend the invoice.
The customer can look in the FZRCXML log for the error that needs to be fixed. We can try resending the PO message also to see if it goes through. (If we get the message “the Order Already Exists” the customer will need to find the original API error from in the FZRCXML log to see what needs to be fixed). Once the PO has been fixed, the invoice message can be resent.
IF the posting process is running the customer has recently upgraded Oracle to version 19c which will need to have the below grant performed by their DBA in IT to give the permission to the FISHRS user to reprocess the invoice for a retrofit order.
The issue with the Oracle 19c upgrade was the DBMS_Jobs not being a default with the DBMS_Scheduler being the Oracle default job. The solution was to grant the FISHER user permission to “create job” so that it can perform the DBMS_Job to reprocess an invoice if the PO wasn’t posted at the time it attempted to hit Banner.
Can the customer please “grant create job to FISHRS” in Banner PPRD/TEST.
This will allow FISHRS to use DBMS_JOB functions from the FTVSDAT record for the “INV DELAY” when the invoice is reprocessed.
Purchase Order has not been posted (Invoice scheduled to be reprocessed)
Sample
PO: PO163110
INVOICE: 56321237
API Error:
Purchase Order cannot be invoiced.
Purchase Order has not been posted to the ledgers.
Invoice scheduled to be reprocessed
Action
This happens for Retrofit Invoices where the Retrofit Order is being created at the same time as the Invoice. Both are sent to Banner and the invoice may try to hit the PO before the PO has been posted.
Waiting for posting process, invoice will reprocess in # number of minutes defined in FTVSDAT. If you get several of these messages verify with finance that the posting process is running.
Vendor Invoice Already Exists
Sample
API Error:
This Vendor Invoice already exists for this vendor
Sample 2
Invoice IU017253/EP017512/02298183 already exists
Action
Invoice was resent manually from Unimarket to Banner because someone could not find the invoice in Banner. There may be another error with the invoice but when the invoice was initially sent to Banner, the Banner invoice (I#) was created but the other possible error caused it to not be completed.
OR
Vendor invoice number already exists in Banner. Unimarket will validate against invoices in Unimarket and not allow the same invoice number to be used for the same supplier. For any invoices that are in Banner only the invoice validation on the supplier invoice number is not done until the invoice hits Banner. AP will need to edit the Banner invoice to add a suffix to the vendor invoice number then complete the invoice in Banner.
Vendor FTMVEND Address Issue
Sample
API Error:
Invalid combination of address type and sequence for vendor.
Action
The vendor address defaults and sequence numbers for the Purchasing and Accounts Payable need to be updated in FTMVEND, Vendor Maintenance tab and the Order then invoice need to be resent from Unimarket to Banner.
Invoice line item amount exceeds purchase order line amount
Sample
*FB_INVOICE_ITEM*
Approved amount exceeds tolerance percent or amount on commodity item 1.
Action
Invoice Matching Tolerance in Unimarket is not the same or lower than the Banner invoice tolerances so the approved and matched invoice in Unimarket does not match per Banner tolerances.
Purchase order line item amount may have been changed manually between the time of creation by the Unimarket interface and invoice time. Whatever the cause the amounts don’t match and an invoice cannot be created. Manual invoice needs to be created by A/P to invoice this item.
Invoice Item Unit Price is $0.00
Sample
API Error:
Approved unit price should be positive.
Action
The Banner API for invoices does not allow for a unit price of $0.00. This is used sometimes for free products or discounted products on an invoice from a supplier.
The Invoice will need to be edited in Banner to give the offending line item a Unit price of $0.0001. Banner allows for unit prices with 4 decimal places but rounds up the line subtotal to 2 decimal places. So depending on the line item quantity, a unit price of $0.0001 will still round up to a subtotal of $0.00.
There is a modification that has been done to recognize the $0.00 unit prices and change them to $0.0001 in the interface as the invoice is being created so contact the Unimarket customer community to see who is using that to see if it will be an option for your IT department to add to your Banner Interface.
Invoice for Split Lines (more than 2 splits) does not calculate correctly
Sample
*FB_INVOICE_ACCTG*
Approved Amount: ::Percent and Amount do not match
Action
There is a known API issue with Banner for invoices against order with a line item containing more than 2 split line accounts. The calculation that Banner does with the unit price X Quantity divided by the percentage of the split accounting does not equal the total of the line item subtotal. This is a known Banner API issue and the invoice will need to have manual intervention in Banner to ensure that the amounts of the split funding equal the line subtotal. The difference is usually a penny or two.
Shipping on Split Line Invoice with Additional Charge shipping amount error
Sample
*FB_INVOICE_ACCTG*
Additional Charge: Percent and Amount do not match
Action
Similar to the above issue with the split line accounting. If you have your interface configured to add the shipping from an invoice to 1 line item in the Additional Charges field in Banner and the line item is split by 2 or more funding sources, the calculation that Banner does for the amount and split percentages may not match the initial amount which causes this error. Manual editing of the Additional Charge amounts need to be done in Banner to ensure that the amounts per split equal the initial shipping amount. Likely 1 funding source will need to pay an additional penny.
Unit Price Exceeds expected character count, $1,000,000 unit prices
Sample
Error in p_do_item_data:
Last called f_get_val(Item_UnitPrice)
ORA-06502: PL/SQL: numeric or value error: number precision too large
Action
This is an Oracle Error and due to the Interface not expecting unit prices as large as a million dollars with 7 characters. This can be changed with custom coding of the interface or reported to USNH for updates to the baseline code.
PO is Closed and cannot be invoiced
Sample
API Error:
The item from the purchase order cannot be copied to the invoice as it is closed
Action
PO in Banner needs to be reopened and invoice resent from Unimarket.
Invoicing a PO from a different Fiscal Year
Sample
API Error:
Purchase Order cannot be invoiced.
Encumbrance does not exist in the fiscal year in which the invoice transaction date falls.
Action
Manually change the transaction date on the invoice in Banner
Change the INV_TRANS_DATEin FZREPRF to “Y”
Crediting an Invoice with a past Fiscal year date on the credit invoice
Sample
API Error:
Cannot create credit memo in prior year if the purchase order has rolled into the next year.
Action
Manually edit the invoice transaction date in Banner.
Change your FZREPRF_INV_TRANS_DATE Interface Configuration setting for the Invoice Trans Date to always set the invoice transaction date as the PO transaction date.
Purchase Order Canceled and cannot be invoiced
Sample
API Error:
Purchase Order cannot be invoiced.
Purchase Order has been canceled
Action
PO was canceled in Banner so there would need to be an investigation with the buyer to find out why the PO was canceled and if the invoice should be paid.
Cancel the invoice if the PO was canceled intentionally and communicate to the supplier to have them credit the invoice on their books.
FUND Terminated and Invoice Failed to Post against PO
Sample
API Error:
Fund code 551543 has been terminated as of 23-DEC-2016.
Action
This error generally happens with Grants or Sponsored Account Funds. PO was created when the Fund was active but the time between the PO being created and the invoice being matched and submitted for payment may have had the Fund activity date past and the Fund gets Terminated.
To resolve, the Grant or Fund Owner will need to give approval for the Fund to be reopened so that the invoice can be paid. Direct action in Banner required.
Vendor ID not Valid on the Invoice compared to the Order
Sample
API Error:
Invalid value for vendor
Action
Issue is sometimes that the vendor ID needed to be changed after the PO was created. The vendor ID was not updated in Unimarket so the invoice referenced the initial (old) vendor ID but the PO number was carried over to the new vendor. The Banner API validated the PO reference number for Vendor B and the vendor ID representing vendor A which did not match.
Deadlock Detected
Sample
Error in p_get_po_data:
Last called f_get_val(Accounting_Charge)
ORA-00060: deadlock detected while waiting for resource
Action
This error is typically related to Banner receiving too many requests for processing at one time. To resolve the error:
- Verify if the Invoice record has posted to FOIDOCH.
- If the Invoice does not appear in FOIDOCH, resend the Invoice message from Unimarket and confirm it posts correctly.
- If the Invoice does appear in FOIDOCH, the status field is likely going to be Suspended or Incomplete..
- Delete the incomplete Invoice record from Banner (FAAINVE is likely the screen, but can’t confirm)
- Once the invoice record is deleted, resend the invoice message from Unimarket and confirm it posts correctly in FOIDOCH