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

# Troubleshoot accounting and e-invoicing sync errors

> Understand common accounting and e-invoicing sync errors in Hyperline, including rate limits, expired connections, Pennylane, Peppol, and manual retry paths.

Use this guide when invoices, credit notes, customers, or e-invoices do not appear in an external system after being created in Hyperline.

## Where to start

1. Open the related invoice, credit note, or customer in Hyperline
2. Check the integration status shown on the page
3. Open **Settings > Integrations**
4. Select the accounting, CRM, or e-invoicing integration
5. Review the integration issues or failed syncs
6. Retry the failed sync once the underlying problem is fixed

<Tip>
  If many records failed at the same time, fix the connection or provider issue first, then retry the failed syncs. Retrying one by one while the provider is still rejecting requests usually creates more failures.
</Tip>

## Common states

| State                                 | What it means                                                                                                 | What to do                                                                                                                                                                                                           |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Rate limited or `429`                 | The provider temporarily rejected requests because too many records were sent in a short period.              | Wait for the provider limit to reset, then retry outside of busy batch windows. Hyperline retries rate-limited jobs automatically, but the record may still show the last failed attempt while the retry is pending. |
| Expired connection                    | The provider authorization is no longer valid.                                                                | Reconnect the integration from **Settings > Integrations**, then retry failed syncs.                                                                                                                                 |
| Pending creation                      | Hyperline started creating the record in the provider, but the provider has not accepted or completed it yet. | Check whether the related customer or required accounting object exists in the provider. Retry after the missing dependency is fixed.                                                                                |
| Errored                               | The provider rejected the record or Hyperline could not complete the sync.                                    | Open the issue details, fix the data or configuration mentioned in the error, then retry.                                                                                                                            |
| Completed but still visible as failed | A previous attempt failed, but a later attempt or duplicate job may have succeeded.                           | Check the provider record directly before retrying or recreating anything. Contact support if Hyperline still shows a failed state after the provider has the record.                                                |

## Rate limits and retries

Accounting providers often apply per-organization API limits. When Hyperline sends a large batch of invoices, customers, or credit notes, the provider can reject extra requests until the limit window resets.

Hyperline re-queues rate-limited syncs automatically. The integration issue can still look stuck because it shows the last failed attempt while the retry is waiting to run.

If you need to manually retry a record:

1. Wait until the provider limit has had time to reset
2. Avoid retrying during a large import, billing run, or batch sync
3. Retry the failed record from the integration issue or the record page
4. Check the provider before retrying again

## Reconnect an expired integration

If the provider connection expired, new records cannot be pushed until the integration is authorized again.

1. Go to **Settings > Integrations**
2. Open the affected provider
3. Click **Reconnect** or **Re-authorize**
4. Complete the provider authorization flow
5. Return to Hyperline and retry failed syncs

<Note>
  A successful reconnection does not always make old failures disappear immediately. Retry the failed records after the connection is active again.
</Note>

## Peppol checks

For Peppol delivery issues, first confirm the customer's participant ID.

1. Open the customer in Hyperline
2. Check the **E-invoicing code** in the customer information
3. Verify the participant ID in the [Peppol Directory](https://directory.peppol.eu/public)
4. Use the full scheme and code format, such as `0208:123456789`

For Belgian customers, Hyperline routes Peppol invoices by default with scheme `0208` and the enterprise number from the VAT number without the country prefix. See [Peppol routing](../docs/invoices/einvoicing/peppol#routing) for details.

## Pennylane checks

If an invoice is stuck while syncing to Pennylane, check whether the related customer already exists and can be matched in Pennylane.

Common causes include:

* The customer does not exist yet in Pennylane
* The customer exists but cannot be matched to the Hyperline customer
* Pennylane rejected a duplicate or incomplete record
* The invoice is waiting for a previous customer creation step to finish

Fix the customer record first, then retry the invoice sync.

### Pennylane payment reconciliation

When a paid invoice syncs to Pennylane, Hyperline first tries to link the invoice to the corresponding Pennylane bank transaction when the Hyperline payment came from a connected bank account.

Hyperline uses conservative matching. The Pennylane bank transaction must match the Hyperline payment amount, currency, and payment date. If several Hyperline payments settled the same invoice, each bank-linked payment must have a unique matching bank transaction in Pennylane.

If Hyperline cannot safely link every settled payment to a Pennylane bank transaction, Hyperline falls back to marking the invoice as paid in Pennylane. This can happen when:

* The payment was recorded manually in Hyperline
* Some payments are bank-linked and others are manual
* Pennylane does not expose a unique matching bank transaction
* The Pennylane invoice is still in draft

Before retrying a failed Pennylane payment sync, check:

* The invoice is no longer a draft in Pennylane
* The expected bank transaction exists in Pennylane
* The amount and currency match the Hyperline payment
* There is not another similar Pennylane bank transaction for the same date and amount

If the payment was recorded manually or the bank transaction cannot be identified, retrying should mark the invoice as paid in Pennylane instead of linking a bank transaction.

## When to contact support

Contact support if:

* The same record keeps failing after the provider connection is active
* The provider shows the record as created but Hyperline still shows it as failed
* A large batch created many failed syncs and you are unsure whether to retry them
* The error mentions a provider-side validation you cannot change in Hyperline
