Skip to main content

Clients: Accounting integration not syncing - fixes

If your accounting integration has stopped syncing invoices or is importing incomplete data, this page walks you through the most common causes and fixes for each supported integration.

Updated over a week ago

Symptoms

You may notice one or more of the following:

  • No new invoices appear after syncing, even though unpaid invoices exist in your accounting system.

  • Previously working imports now return zero results.

  • Some invoices are imported but others are missing.

  • You see an error message when attempting to sync.

Quick reference: authentication per integration

The fix depends on how each integration authenticates. Use this table to jump to the right section.

Integration

Authentication method

Most common cause

Stripe

API Key

Invalid or revoked API key

QuickBooks Online

OAuth2

Expired or revoked OAuth connection

Zoho Books

OAuth2

Expired or revoked OAuth connection

Zapier

API Key (XApiKey)

Invalid Debitura API key

Stripe: common causes and fixes

Cause 1: API key is invalid or revoked

Stripe uses API key authentication. If the key has been deleted, rotated, or its permissions changed in your Stripe dashboard, Debitura can no longer fetch invoices.

Fix:

  1. Log in to your Stripe Dashboard and go to Developers > API keys.

  2. Verify that the restricted API key used by Debitura still exists and has read access to Invoices and Customers.

  3. If the key was revoked or permissions changed, create a new restricted key with the required permissions (read access to Invoices and Customers).

  4. Go to Integrations in your Debitura account and update the API key. Debitura validates the key on save.

  5. Run a new sync to verify invoices are imported.

For full setup instructions, see How to connect Stripe.

Cause 2: Missing customer data

Stripe invoices are only imported if the associated customer has complete address information. If customer records in Stripe are missing address fields, those invoices will be skipped during import.

Fix:

  1. In your Stripe Dashboard, check the customer records for the missing invoices.

  2. Make sure each customer has a complete billing address (street, city, postal code, and country).

  3. Re-sync in Debitura after updating the customer records.

Cause 3: Date filter too narrow

Stripe supports filtering invoices by creation date. If the date range configured in Debitura does not cover the invoices you expect, they will not appear.

Fix:

  1. Go to Integrations in Debitura.

  2. Check the date range settings for your Stripe integration.

  3. Widen the date range to include the period of the missing invoices.

  4. Re-sync.

QuickBooks Online: common causes and fixes

Cause 1: OAuth connection expired or revoked

QuickBooks Online uses OAuth2 authentication. Debitura handles token refresh automatically, but the connection can break if you revoke access in QuickBooks, change your QuickBooks password, or if QuickBooks invalidates the token for security reasons.

Fix:

  1. Go to Integrations in your Debitura account.

  2. Check the status of your QuickBooks connection.

  3. If the connection shows as inactive or disconnected, click Connect to re-authorize. You will be redirected to QuickBooks to sign in and grant access again.

  4. After reconnecting, run a sync to verify invoices are imported.

For full setup instructions, see How to connect QuickBooks Online.

Cause 2: Wrong QuickBooks company connected

If you have multiple QuickBooks Online companies, you may have authorized Debitura against a different company than intended. Invoices will only be imported from the connected company.

Fix:

  1. During the OAuth flow, QuickBooks asks you to choose which company to connect. Verify you selected the correct one.

  2. If the wrong company is connected, disconnect the integration in Debitura and reconnect, selecting the correct company during the OAuth step.

Zoho Books: common causes and fixes

Cause 1: OAuth connection expired or revoked

Zoho Books uses OAuth2 authentication. Debitura handles token refresh automatically, but the connection can break if you revoke access in your Zoho account settings or if Zoho invalidates the token.

Fix:

  1. Go to Integrations in your Debitura account.

  2. Check the status of your Zoho Books connection.

  3. If the connection is inactive, click Connect to re-authorize. You will be redirected to Zoho to sign in and grant access. The correct Zoho regional endpoint is detected automatically.

  4. After reconnecting, run a sync to verify invoices are imported.

For full setup instructions, see How to connect Zoho Books.

Cause 2: Wrong Zoho Books organization connected

If you have multiple organizations in Zoho Books, Debitura connects to the first organization automatically during the OAuth flow. Invoices from other organizations will not be imported.

Fix:

  1. Verify in Zoho Books which organization contains the invoices you need.

  2. If the wrong organization is connected, disconnect and reconnect. Ensure the correct organization is the primary one during the OAuth step.

Zapier: common causes and fixes

Cause 1: Debitura API key is invalid or expired

The Zapier integration authenticates using your Debitura API key (the same key used for direct API access). If the key has been rotated or deleted, Zapier can no longer communicate with Debitura.

Fix:

  1. Go to API Keys in your Debitura account and verify your API key is active.

  2. If needed, generate a new API key. See How to generate an API key.

  3. In Zapier, go to your Debitura connection settings and update the API key.

  4. Test the connection in Zapier to confirm it works.

For full setup instructions, see How to connect Zapier.

Cause 2: Wrong environment (test vs production)

Debitura has separate test and production environments. If you are using a test API key with the production environment (or vice versa), the connection will fail.

Fix:

  1. Check whether you are using the correct API key for your environment:

  • Production: generated from app.debitura.com

  • Test: generated from testapp.debitura.com

  1. Update the key in Zapier if you were using the wrong one.

Cause 3: Zapier polling delay

Zapier triggers use polling (not real-time webhooks). The polling frequency depends on your Zapier subscription tier. On free plans, Zapier checks for new data every 15 minutes. Paid plans poll more frequently (as often as every 1 to 2 minutes).

Fix: If data appears delayed rather than missing, wait for the next polling cycle. You can also manually trigger a test in the Zapier editor to check whether the connection is working.

General checks (all integrations)

If the integration-specific fixes above do not resolve your issue, try these general steps:

  1. Check invoice status in your accounting system. Debitura only imports unpaid invoices. Stripe imports invoices with status "open." QuickBooks and Zoho Books import invoices that are still unpaid. If the invoice has been partially or fully paid, it will not appear in Debitura.

  2. Check debtor address data. All integrations validate that the customer/debtor has complete address information. Invoices linked to customers with incomplete addresses may be skipped.

  3. Check for duplicates. All integrations prevent duplicate case creation. If an invoice was already imported and a case was created, it will not appear again in the import list.

Escalation

If the steps above do not resolve the issue, contact Debitura Support and include the following information:

  • Which integration you are using (Stripe, QuickBooks Online, Zoho Books, or Zapier).

  • When the sync last worked (approximate date and time).

  • Two or three sample invoice IDs or numbers from your accounting system that should have been imported but were not.

  • Screenshots of any error messages you see in Debitura or in the external system.

  • Whether you made any recent changes (rotated keys, changed passwords, revoked access, switched accounts or organizations).

For an overview of all available integration methods, see Integration options.

Developer Docs: Developers: Want to troubleshoot API key authentication or error codes programmatically? See Developer Docs: Authentication.

Did this answer your question?