> 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
