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

# Fix invoice upload problems

> Check file type, size, duplicates, scan state and extracted fields when intake does not finish as expected.

Use these checks for **Invoice intake** in the staff workspace. Sign in to the intended firm and make sure the client is visible to your account. For the full submission sequence, see [Upload an invoice](https://help.pragmachartered.com/invoices/upload.md). This page helps you tell a file refused before it was registered from a registered draft that is still waiting for its malware scan or extraction.

![Invoice intake with client picker and supported-file drop zone highlighted](https://help.pragmachartered.com/images/invoices/intake.png)

## Read the outcome before retrying

| What you see | Likely cause and next action |
| - | - |
| **Your role does not include uploading invoices.** | Your role is Connector admin, which cannot upload. Ask a colleague with upload permission. |
| **Add a client before uploading invoices.** | No active client is visible to you. Ask an Owner to add the client or assign you to it under **Settings → Client assignments**. |
| **Choose the client these invoices belong to.** | Select the intended **Client** before dropping files. The client may be remembered from your last visit: check it rather than assuming it matches this batch. |
| **Upload at most 20 files at a time.** | Split the selection into batches of up to **20**. A batch has one purchase/sales direction; do not mix purchase and sales bills in it. |
| **Only PDF, JPEG and PNG files are accepted.**, **This file is empty.**, or **This file is … MB. The limit is 19 MB.** | Supply a nonempty PDF, JPEG or PNG no larger than **19 MB**. Renaming an unsupported file does not change its type; export or scan the original again. |
| **The file could not be stored. Check your connection and retry.** or **Storage accepted the file but returned no id, so no review draft was created.** | Check the connection and upload that file again. No draft exists for it. |
| **This exact file was already uploaded for this firm. The existing review item holds it — nothing was created.** | The same file content is already registered in this **firm**, even under a different filename or another client. Find the existing item in **Review queue** or the client's **Books → Invoices** tab instead of renaming and resending identical bytes. |
| **Too many attempts. Wait a moment and try again.** | Uploads are rate-limited per firm. Wait, then upload the failed files again. |
| **Uploading**, **Extracting**, **Ready for review** or **Failed** under **Outcome** | Per-file results. **Ready for review** means a draft was registered, **not** that its malware scan or reading has finished. Select **Open draft →** for a registered item; a failed row shows its reason under the filename. A partly successful batch keeps the drafts that succeeded, so retry only the failed files. |
| The invoice page says **This file is still being scanned for malware. It opens as soon as the scan clears it.** | Wait; it opens as soon as the scan clears it. |
| The invoice page says **The malware scan could not complete, so this file cannot be opened yet. Scan it again to open it.** | Select **Scan again** and wait. If you see **Malware scanning is not available for your firm right now, so the file cannot be scanned again yet. Contact Pragma Chartered support, then use Scan again.**, contact support, then use **Scan again**. |
| The invoice page says **The malware scan flagged this file, so it cannot be opened. Ask the client to send it again.** | The file cannot be opened or approved. Obtain a fresh original from the client. |
| Status **Needs attention** with **Extraction failed**, or fields are wrong | Open the item in **Review queue**. A failed extraction is not a ready voucher. If the original is legible, compare each field with it and correct the draft; do not approve guessed values. |

**1. Check client, direction and batch**

On **Invoice intake**, confirm **Client** and the purchase or sales direction before picking files. If you selected more than 20 files or mixed directions, split the batch. If a client is missing, check the active firm and your client access rather than uploading into another client.

**2. Inspect the affected file and row**

Check the file's actual format, that it is not empty, and the 19 MB limit. Find that filename in the results table and read both **Outcome** and any message under **File**. If other rows say **Ready for review**, leave those drafts in place; do not resend the whole batch.

**3. Resolve the specific failure**

For a storage failure, check the connection and retry the affected file. For a duplicate, find the existing item. For a registered draft, use **Open draft →** or **Review queue** and wait for its scan and extraction; only a failed scan offers **Scan again**. Ask the client for a fresh copy if the scan flagged the file.

**4. Review the draft rather than guessing**

Compare the extracted values with the original document and save corrections on the invoice's review page. If the purchase/sales direction is wrong, change it while the item still needs review, before correcting fields. If the original is illegible, ask for a clearer one instead of approving guessed figures. See [Review and approve an invoice](https://help.pragmachartered.com/invoices/review-and-approve.md).

If the problem persists, [submit a support case](https://help.pragmachartered.com/support/submit-a-case.md) with the filename, page, error text, approximate time, affected client and whether other files in the batch succeeded. Attach an error screenshot only if it is appropriate to share; never send a password or verification code.

> [card] Still stuck?
>
> [Open a case](https://app.pragmachartered.com/support) from **Help & support** in Pragma, or [book a walkthrough](https://help.pragmachartered.com/support/book-a-walkthrough.md) and the team will show you around on a call. Can't sign in? [Contact support](https://app.pragmachartered.com/contact-support).


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