# Troubleshooting

The failures you are most likely to hit, and what each one actually means. Most trace back to licensing, permissions, or an endpoint's processing mode rather than to the extension misbehaving.

## Every call fails with a licensing error

The subscription is not active. Open **eOne Integration Setup**, confirm a **License Token** is entered, and choose **Check Subscription**. It shows the account and whether the subscription is active. A removed or expired token blocks every endpoint immediately. A transient network problem does not: a previously verified subscription keeps working through a short outage (a grace period). See [Licensing & activation](https://eonesolutions.github.io/eone-bc-integration/licensing.md).

## A call returns 403 (or an empty result where you expect data)

The caller reached the endpoint but lacks the base-table permission behind it. Executing an API page is not enough: reading and writing the underlying tables (and the [resolver](https://eonesolutions.github.io/eone-bc-integration/resolvers.md) lookups) need data permissions. Assign the integration account `EONE Integ. Full`, not `EONE Integration` alone. See [Permissions](https://eonesolutions.github.io/eone-bc-integration/permissions.md).

## A POST is accepted but nothing posts

That is by design for a staged document. Its endpoint's [processing mode](https://eonesolutions.github.io/eone-bc-integration/endpoint-setup.md) decides what happens:

- **Manual.** It waits for a clerk to run **Process**. Nothing is automatic.
- **Auto Draft.** A background job writes unposted draft lines; a person still posts the batch.
- **Auto Post.** The job posts it.

If you expected automatic posting, check the mode on the setup card. If the endpoint **Requires Approval**, the document also waits until it is approved in Business Central.

## A document is stuck on "Pending Approval"

An approval request was sent and the Business Central approval workflow is waiting on an approver. Approval happens **in Business Central**, not through the API. An approver Approves it from the *eOne Ledger Documents* / *eOne Expenses* / *eOne Inventory Adjustments* page or the standard **Requests to Approve** page. If nothing is waiting there, the endpoint has **Requires Approval** set but no Business Central approval workflow is enabled for eOne documents: enable one on the **Workflows** page (copy the shipped eOne template) and set up **Approval User Setup**, or clear **Requires Approval** if the gate is not wanted. See [Operating staged documents](https://eonesolutions.github.io/eone-bc-integration/operating-staged-documents.md).

## A ledger document is stuck on "Awaiting Invoice"

It references an invoice (by Integration Id) that has not posted yet. It applies automatically once that invoice posts, provided the endpoint's **Allow Before Invoice Posts** is on. If it is off, the reference is rejected instead; post the invoice first, then re-import.

## No availability webhooks are firing

The availability snapshot is **off** by default. Turn it on on the **Features** tab of **eOne Integration Setup**. If it is on but stale, check the **Availability Backlog** (a growing or aging backlog means the refresh job is behind) and use **Rebuild Availability Snapshot**. See [Availability snapshot](https://eonesolutions.github.io/eone-bc-integration/availability-snapshot.md).

## No posting-event webhooks are firing

Posted document events are projected by a background job, so a notification arrives on the next projection run rather than at the moment a document posts. Confirm **Posted Document Events** is on, on the **Events & Webhooks** tab of **eOne Integration Setup**. While **Posted Docs Id Only** is on, only documents carrying an Integration Id are projected. A settings change applies from the next run onwards, so choose **Rebuild Posted Documents** to re-project the rows you already have. See [Customer Payments](https://eonesolutions.github.io/eone-bc-integration/core-postedCustomerPayments.md).

## An imported document cannot find a customer/item/account

The API resolves related records by key but does not create master data. Confirm the referenced record exists in Business Central (or is created through its own endpoint first). See [Prerequisites](https://eonesolutions.github.io/eone-bc-integration/prerequisites.md).

## The environment seems to run an old version after an update

Do not hand-edit the version to force a refresh. Republish with a forced sync and have users sign out and back in.

> **Tip:** When in doubt about a single call, reproduce it against `GET .../items` first. If that succeeds, licensing and permissions are fine and the problem is specific to the endpoint or payload; if it fails, fix licensing/permissions before looking further.
