> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neoflo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Post an invoice to SAP

> Check the posting details, choose the tax codes, simulate the accounting, and post.

> [!NOTE]
>
> **Before you begin**
>
> * The invoice's **Status** is **ERP Posting**. Matching is done.
> * Know your entity's GST/VAT code, and the WHT code if this vendor is subject to WHT.

![The Bill Posting Details screen with a WHT banner, the posting fields, a Documents row, the line item tax codes, and Reject and Post to ERP buttons](https://mintcdn.com/neofloai/OmgDmQ6pmg_EB0XY/images/bill-posting.png?fit=max\&auto=format\&n=OmgDmQ6pmg_EB0XY\&q=85\&s=21c3734dd3d7ab614c667dab78aa8f7a)

Bill Posting Details, before posting.

1Banner2Simulate3Documents and Upload Files4GST/VAT Code5WHT Tax Code6Post to ERP

## Post the invoice

**1. Read any banner at the top.**

For example, `Vendor is not subject to WHT deduction` means this vendor needs no WHT code.

**2. Check the fields under Invoice Details.**

Gray fields are locked. You can change the white ones, such as **Text** and **Doc Header**.

**3. Under Documents, check that the invoice file is there.**

To add a supporting document, select **Upload Files**.

**4. For each line under Line item, choose the GST/VAT Code. It's required.**

For some entities the code is filled in for you. Check it anyway.

**5. If the vendor is subject to WHT, choose the WHT Tax Code for each line.**

**6. Select Simulate, and check the accounting entries.**

Debits and credits must balance. If they don't, the window shows `Balance not zero`. Fix the tax code and simulate again.

**7. Select Post to ERP.**

> [!NOTE]
>
> **What happens next**
>
> Posting usually takes a couple of seconds. The banner then reads `Posted to ERP successfully`, with the SAP **Accounting Doc** and **Invoice Doc** numbers, and **Post to ERP** becomes **Bill Posted**. The invoice moves to the **Closed** tab, and Neoflo updates the Freshdesk ticket. See [Track a ticket with Neoflo Status](https://docs.neoflo.ai/ingestion/neoflo-status.md).

![Bill Posting Details after posting. A green banner says Posted to ERP successfully with the accounting and invoice document numbers, the top-right button reads Bill Posted, and the line shows its GST/VAT and WHT tax codes](https://mintcdn.com/neofloai/OmgDmQ6pmg_EB0XY/images/posted.png?fit=max\&auto=format\&n=OmgDmQ6pmg_EB0XY\&q=85\&s=1fd63e9a4c4beb9415d8a655bc7d902d)

A posted invoice. The fields are now read-only.

1Posted to ERP successfully, with both SAP document numbers2Bill Posted3Doc Header: for an Indonesian invoice, the Faktur Pajak number4GST/VAT Code5WHT Tax Code

Amounts come from the invoice. To change one, return to **Invoice Extraction**. See [Review the extraction](https://docs.neoflo.ai/process/extraction.md). [Field reference](https://docs.neoflo.ai/reference/fields.md) describes each posting field.

## If something goes wrong

| What you see | What to do |
| - | - |
| `Balance not zero` in the simulation | A tax code is wrong for this line. Choose the right one and select **Simulate** again. |
| A simulation error after you choose a VAT code | The VAT code doesn't suit this vendor or entity. Choose another. You can't post until it's corrected. |
| `Failed to post bill to ERP: …` | SAP didn't accept the posting. The end of the message gives SAP's reason, which can be `Unknown error`. Check the tax codes and fields, and select **Post to ERP** again: the button stays available. If it fails again, use **Report Issue**. See [Get help](https://docs.neoflo.ai/reference/get-help.md). |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.