> For the complete documentation index, see [llms.txt](https://docs.unimarket.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.unimarket.com/documentation/troubleshooting/purchase-orders-not-appearing-in-banner.md).

# Troubleshooting: Purchase Orders Not Appearing in Banner

When an order is created or cancelled in Unimarket, a cXML message is sent to Banner to establish or liquidate an encumbrance. If the Purchase Order (PO) does not reflect in Banner (e.g., it is missing from `FPBPOHD`, `FPIPURR`, or `FGIENCD`), follow these steps to identify and resolve the issue.

## Step 1: Check Community Inbox for Integration Errors

* Check the Community Inbox to see if an error was generated for the PO.
* If an error was generated, refer to [Unimarket-to-Banner PO Integration Errors](/documentation/troubleshooting/unimarket-to-banner-po-integration-errors.md).

## Step 2: Reach out to the Support team

* Review if a timeout or 500 Internal Server error was generated on the backend.
  * A 500 Internal Server Error is a generic HTTP status code indicating the server encountered an unexpected condition preventing it from fulfilling a request. This occurs if the customer's server was temporarily down, preventing the orders from flowing into Banner.
* If there are no timeout errors found, proceed to Step 3.

## Step 3: Primary Diagnostic Step - Check FZRCXML

The most reliable way to find why a transmission failed is to check the Banner API log table. This table captures the specific feedback and return codes generated by the Banner APIs.

```sql
SELECT FZRCXML_DOCUMENT_ID, FZRCXML_ERROR_MSG, FZRCXML_ACTIVITY_DATE
FROM FISHRS.FZRCXML
WHERE FZRCXML_DOCUMENT_ID = 'P0XXXXXX' -- Replace with your PO number
ORDER BY FZRCXML_ACTIVITY_DATE DESC;
```

### New Purchase Orders

If a new PO has been approved in Unimarket but cannot be found in Banner, check for the following common failures.

#### A. Vendor Maintenance Issues (FTMVEND)

The most frequent cause of "Missing PO" errors is an incomplete vendor record in Banner.

* **Error Message:** Often appears as a "Header Build Error" or "Invalid Address Type."
* **Action:** Verify the vendor in **FTMVEND**. Ensure that both **Procurement** and **Accounts Payable** default address types have valid and active **Codes** and **Sequence Numbers**. If these are null, the API cannot create the PO header or Invoice header.

#### B. Budget & NSF Errors

* **Error Message:** `NSF` or `Non-Sufficient Funds`.
* **Action:** Check the available budget for the FOAPAL used on the requisition in Banner Form **FGIBAVL**. If the budget is exceeded, the PO will be created in an "Incomplete" status or fail to post entirely. Adjust the budget in Banner and then in Unimarket, go to the Order and select **More Actions > Order Message** to resend the cXML.

#### C. Deadlocks and Integration Timing

* **Error Message:** `ORA-00060: deadlock detected while waiting for resource.`
* **Action:** This occurs when Banner is overwhelmed by concurrent requests. In Unimarket, go to the Order and select **More Actions > Order Message** to resend the cXML.

### Existing Purchase Orders

If an existing PO has been approved in Unimarket but cannot be found in Banner, check for the following common failures.

* If no integration errors have been generated and there is no reported error from the Unimarket Support team, and the API continues to fail after resending the Order Message from Unimarket, proceed to Step 4.

## Step 4: Manual Resolution Process

1. **Banner Manual Entry:** For new POs, you may need to manually enter the PO in **FPAPURR**.
2. **Existing POs:** Resend the Order Message from Unimarket.

{% hint style="info" %}
See also [Purchase Order Integration Overview](/documentation/transactions-orders-receipts-invoices-and-more/purchase-order-integration-overview.md) for background on how POs flow from Unimarket into Banner.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.unimarket.com/documentation/troubleshooting/purchase-orders-not-appearing-in-banner.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
