Beam Help
Get help now

Error code · Zoho BOOKS

Zoho Books API Error 41029 – Signed QR Code Rejected

This error means Zoho Books rejected the signed QR code you sent when calling the e-invoice push endpoint because the service could not verify the QR code’s digital signature. The API accepts the invoice but fails when the signedqrcode value doesn’t match the signature format or bytes the verifier expects [1].


What it means

Zoho Books performs signature validation on the signedqrcode value you provide to POST /books/v3/invoices/{invoiceid}/einvoice/status/push; if the QR payload or its encoding differs from the original IRP output, the Books verifier returns code 41029 and the message that the QR Code is not valid [1]. In practice this means the API compared the submitted signedqr_code against the expected signed data and failed verification rather than failing for auth or missing fields [1].


Common causes

  • You changed the QR string by decoding/re-encoding, trimming, or reformatting (line breaks, extra spaces, URL encoding) before sending it. The user in the community reported passing the original QR but the API accepted only when omitted, suggesting an encoding/format mismatch [1].
  • Character-set or base64 variants: the IRP output may use a specific base64 URL-safe or padded form; changing that breaks verification.
  • The signedqrcode does not correspond to the IRN/invoice you attached in Zoho Books (mismatched invoice identifiers or numbers).
  • The API or intermediate transport (proxy, webhook, code libraries) altered bytes: automatic escaping, JSON encoding differences, or HTTP client form serialization.

(Each cause above is observed or implied in the community report of failed verification when sending the IRP signed QR) [1].


How to fix it

  1. Send the exact raw signed QR string returned by the IRP without decoding, re-encoding, or modifying characters. Paste the IRP response value into your request body exactly as received, including any padding or symbols [1].
  2. Ensure your client does not alter characters: set Content-Type to application/json, avoid automatic URL-encoding of that field, and verify your HTTP library does not change line breaks or whitespace.
  3. Compare byte-for-byte: compute a hash (SHA256) of the IRP signedqrcode and the value you actually transmit; they must match. If they differ, identify where your code transforms it and stop that step.
  4. Verify the signedqrcode matches the invoice/IRN you are associating in Zoho Books. If you registered the invoice with IRP, confirm the IRN and QR belong to the same invoice and that you used the correct invoice_id in the endpoint.
  5. If you still get 41029, reproduce the request including headers and body, and include both the original IRP signed QR and the exact transmitted value in a support ticket so the Books team can inspect validation logs.

When to escalate

Open a Zoho support ticket with a minimal, reproducible example (original IRP signedqrcode, the exact HTTP request you sent, invoice_id/IRN) if the QR string you transmit matches the IRP output byte-for-byte and the API still rejects it—Zoho engineering will need request logs to debug server-side verification [1].


[1]: Zoho Books API Error 41029 – Signed QR Code Rejected (community thread)

Originally asked in the Zoho community. See the original question →

Sources cited

  1. [1] Zoho Books API Error 41029 – Signed QR Code Rejected
  2. [2] {"code":57,"message":"You are not authorized to perform this operation"}
  3. [3] Work Order to Sales Order Conversion
  4. [4] Zoho CRM - COQL query failing with no reason
  5. [5] Sending a Template to Sign
  6. [6] Important: Whitelist new proxy outgoing IPs for IN, SA, and UAE data centers
  7. [7] Zoho Community | Connect, network, and share on Zoho Forums
  8. [8] [Virtual launch event] Experience the agentic analytics platform | A sneak peek into Zoho Analytics
Zoho Books Error 41029: Signed QR Code Rejected | Beam Help