RiyalPlus — Error Reference
Every error in RiyalPlus carries a code in the form RP-XXXX. If you see one on screen, find it below for what it means and what to do. Each entry shows the on-screen message so you can match what you saw.
A quick rule of thumb: codes that ask you to fix or change something are usually ones you can resolve yourself; codes that describe a system issue or say contact support are handled by our team. Payment and billing problems are always handled by the team directly — never the chat assistant.
Uploading and reading your trial balance
RP-1001 — Extraction failed · shown as: "Data extraction failed — please try again." A temporary problem reading your file. Try the upload again; if it keeps failing, contact support.
RP-1002 — Unsupported file type · shown as: "Unsupported file type." The file isn't a format RiyalPlus can read. Upload your trial balance as an XLSX spreadsheet or a PDF and try again.
RP-1003 — File too large · shown as: "File too large (max 10 MB)." The upload exceeds the 10 MB limit. Remove rows that aren't accounts (summaries, blank rows) or split the file, then upload again. Escalate if the file is clearly under 10 MB and still rejected.
RP-1004 — No accounts found · shown as: "No accounts found in file." RiyalPlus couldn't find account rows in the file. Confirm you uploaded the trial balance (not a different report) and that it contains account names and balances.
RP-1006 — No data rows · shown as: "File contains no data rows." The file opened but had no usable rows. Re-export the trial balance from your accounting system and upload the new file.
RP-1007 — Unreadable AI result · shown as: "AI returned invalid JSON — please try again." A temporary processing glitch. Try again; if it persists, contact support.
RP-1011 — Rate limited · shown as: "Rate limited — please wait a moment and try again." Too many requests in a short time. Wait a minute and try again.
RP-1020 — Couldn't reach the AI service · shown as: "TB ingest failed to reach the AI service — please try again." A temporary connection problem during trial-balance ingestion. Wait a moment and try again; contact support if it continues.
RP-1021 — Unreadable ingestion response · shown as: "TB ingest returned an unreadable response — please try again." A temporary glitch reading the ingestion result. Try again; contact support if it persists.
RP-1022 — Accounting discrepancies found · shown as: "TB ingest validation found accounting-identity discrepancies — review the warnings." Ingestion succeeded, but the figures don't fully reconcile (for example, debits and credits don't balance). Open the warnings, check the flagged accounts in your source file, correct them, and re-ingest.
RP-1023 — Couldn't validate the file · shown as: "TB ingest validation could not run any meaningful check on this file." The file was read but lacked enough structure to verify. Confirm it's a complete trial balance with account codes and balance columns, then re-upload.
RP-1024 — Validation failed · shown as: "TB ingest validation failed — duplicate codes or missing required fields." The file has duplicate account codes or is missing required fields. Fix the duplicates or gaps in your source file and upload again.
RP-1025 — Request rejected by the AI service · shown as: "AI service rejected the request — this is not a transient error and retrying will not help." Retrying won't help. Contact support with the case so the team can look into it.
RP-1026 — Conversion unavailable · shown as: "Document conversion is unavailable on this server — contact support." A server-side capability needed to convert your file isn't available. Contact support.
RP-1027 — Couldn't read the spreadsheet · shown as: "Could not read the uploaded spreadsheet — please re-export as XLSX or upload a PDF instead." The spreadsheet couldn't be parsed. Re-export it as XLSX, or upload the trial balance as a PDF, and try again.
RP-1028 — Conversion timed out · shown as: "Document conversion timed out — please try again or upload the file as PDF." Converting the file took too long. Try again, or upload it as a PDF.
RP-1029 — Trial balance too large · shown as: "The trial balance is too large to process…" There are too many rows to process. Split it into multiple files, or remove rows that don't represent accounts, and upload again.
RP-1030 — Choose a sheet · shown as: "Sheet selection required for multi-sheet workbooks." Your workbook has more than one sheet. Pick the sheet that holds the trial balance when prompted, and ingestion continues.
RP-1031 — Not enough content · shown as: "File content is insufficient for trial balance extraction." The file doesn't contain enough to extract a trial balance. Re-upload a complete trial balance file.
RP-1032 — Extraction timed out · shown as: "Trial balance extraction exceeded the time limit…" Processing took too long. Try a smaller file; if it keeps timing out, contact support.
RP-1033 — Too few rows · shown as: "File has too few data rows to be a trial balance…" The file is too short to be a full trial balance. Re-upload the complete file.
RP-1034 — No balance columns · shown as: "No numeric balance columns were detected…" RiyalPlus couldn't find debit/credit or balance columns. Make sure those columns are present and re-upload.
RP-1035 — Too large after filtering · shown as: "File is too large to process after filtering…" Even after removing extra rows the file is too big. Remove summary rows and re-upload, or contact support.
RP-1036 — Corrections invalid · shown as: "TB corrections invalid — unknown field, account not found, or unparseable value." An inline correction couldn't be applied. Check the field and value you edited and try again.
RP-1037 — Corrections locked · shown as: "TB corrections rejected — case has already been processed past extraction and cannot be edited." The case has moved past the editable stage, so the trial balance can't be changed. To make changes, you'll need a fresh case for that period.
RP-1038 — Corrections out of date · shown as: "TB corrections conflict — data has been updated since last load. Refresh and try again." The data changed since you opened it. Refresh the page and re-apply your correction.
RP-1039 — Couldn't save corrections · shown as: "TB corrections could not be saved — storage write failed…" A temporary save problem; no changes were applied. Try again; contact support if it persists.
RP-1040 — Low extraction quality · shown as: "Extraction completed but quality is below threshold…" The file was read but with conflicting account codes, so results are uncertain. Review and correct the partial results, or re-upload a cleaner file.
RP-1042 — Old Excel format · shown as: "The .xls (Excel 97-2003) format is not currently supported…" The legacy .xls format isn't supported. Open the file in Excel, use "Save As" to create an .xlsx, and upload that.
Mapping your accounts
RP-2001 — Mapping failed · shown as: "Account mapping failed — please try again." A temporary problem suggesting the account mapping. Try again; contact support if it persists.
RP-2002 — Nothing to map · shown as: "No accounts to map." There are no accounts available to classify. Confirm the trial balance ingested successfully before this step.
RP-2003 — Template conflict · shown as: "Template conflict — duplicate entry." A saved mapping template clashes with another. Review your saved templates and remove the duplicate.
Subscriptions, plans, and access
RP-2016 — Company capital needed · shown as: "Company capital is required to set pricing before creating a case." Pricing depends on company size, so the capital must be on the company profile first. Add the capital to the profile, then create the case.
RP-2017 — No eligible subscription · shown as: "Subscription action rejected: no eligible subscription found for this operation." The action needs a subscription that isn't present. Check your subscription in Settings › Subscription.
RP-2018 — Subscription required · shown as: "This feature requires an active subscription. Please renew or subscribe to continue." The feature is part of a subscription. Subscribe or renew in Settings › Subscription to use it.
RP-2020 — TP Disclosure not yet available · shown as: "Transfer Pricing Disclosure requires a Firm subscription or an uploaded CPA affidavit." The TP Disclosure add-on needs either a Practice (Firm) subscription or an uploaded accountant's affidavit. Subscribe, or upload the affidavit, then add the add-on.
RP-2021 — Enterprise needs a quote · shown as: "Enterprise-band companies require a custom quote. Please contact sales." This company's size falls in the Enterprise band, which is custom-priced. Contact our team to arrange it.
RP-2022 — Trial size limit · shown as: "Trial cases are limited to 200 accounts…" Trial filings cap the trial balance at 200 accounts. Subscribe to process larger trial balances.
RP-2023 — Trial case locked · shown as: "Trial cases are locked after computation and cannot be unlocked." A trial case can't be reopened once computed. Subscribe to run full cases that you can revisit.
RP-2026 — No free seats · shown as: "All firm seats are in use…" Your team has used all its seats. Remove a member, or add seats to your plan, then send the invitation.
RP-2027 — Invitation expired · shown as: "This invitation has expired. Please request a new invitation from your firm admin." Ask your firm's Admin to send a fresh invitation.
RP-2028 — Invitation already used · shown as: "This invitation has already been used…" That invitation link has already been redeemed. Ask your Admin for a new one if you still need access.
RP-2029 — Firm needs an admin · shown as: "A firm must keep at least one admin…" You can't remove or demote the last Admin. Promote another member to Admin first, then retry.
Payments and invoices
These are handled by our team directly. The chat assistant and help articles don't process payments, refunds, or amounts — if you hit one of these, start a support chat or email support@riyalplus.ai.
RP-2010 — Payment couldn't be set up · shown as: "Payment processor could not create a payment request." The payment couldn't be started. Wait a moment and try again; if it keeps failing, contact support.
RP-2011 — Payment couldn't be verified · shown as: "Payment verification with payment processor failed." Confirmation of your payment didn't come through. Contact support so the team can check the status before you try again.
RP-2012 — Subscription charge failed · shown as: "Subscription charge could not be completed by the payment processor." The subscription payment didn't go through. Contact support.
RP-2013 — Renewal payment failed · shown as: "Subscription renewal payment failed. Please update payment details and retry." Update your payment details and try again; contact support if it still fails.
RP-2015 — Invoice not generated · shown as: "Invoice generation failed. The payment was successful; the invoice will be issued by support." Your payment went through — only the invoice document didn't generate. The team will issue it; contact support if you need it sooner.
RP-2024 — Invoice not found · shown as: "Invoice not found." The requested invoice couldn't be located. Check your invoice list; if one you expected is missing, contact support.
RP-2025 — Invoice integrity check failed · shown as: "Hash chain integrity check failed. Contact administrator." An internal invoice-integrity check failed. This is a system matter — contact support.
RP-2030 — Refund couldn't complete · shown as: "Refund failed. The credit note is recorded; our team will resolve the refund." The refund record exists but couldn't finish automatically. The team will resolve it; contact support with any questions.
Computing your declaration
RP-3001 — Ownership doesn't total 100% · shown as: "Ownership percentages must sum to 100%." The ownership split adds up to something other than 100%. Correct the percentages on the company profile so they total 100%, then recompute.
RP-3002 — Missing required fields · shown as: "Missing required fields for computation." Some inputs needed to compute are missing. Complete the flagged fields and run compute again.
RP-3004 — Case past editable stage · shown as: "Case is past the editable phase — ECI pinning cannot be changed." The company information pinned to this case can't be changed at this stage. To use updated company data, create a new case for the period.
RP-3005 — Linkage problem · shown as: "Case linkage violation — parent filing is invalid for this successor." The prior-year case this filing links to isn't valid (for example, it isn't computed, or the periods overlap). Check the parent case, or start the case without linking.
RP-3006 — Sequential needs a parent · shown as: "filing_mode SEQUENTIAL requires parent_case_id." A sequential filing must be linked to the prior-year case. Choose the prior case to link to, or pick a non-sequential filing type.
RP-3007 — Wrong type for a linked case · shown as: "Non-sequential filing must not have parent_case_id." A non-sequential filing can't be linked to a prior case. Either set the type to sequential or remove the link.
RP-3008 — Opening balances don't balance · shown as: "Opening balance sheet does not balance." The opening balances you entered don't add up (assets vs. liabilities and equity). Correct the figures so the opening balance sheet balances.
RP-3009 — Opening balances needed · shown as: "Opening balance capture required for FIRST_TIME_IN_APP filing mode." A first-time-in-app filing needs opening balances before it can compute. Enter them using the opening-balance form, then compute.
RP-3010 — Inventory method locked · shown as: "Inventory method cannot be changed after the case is computed." The inventory method can't be changed once a case is computed. To change it, start a new case for the period.
RP-COMPUTE-OLD-ZIR-UNSUPPORTED — Old Zakat regulation · shown as: "Old ZIR (FY 2023 and earlier) filings are not supported in this release…" RiyalPlus currently supports filings under the Zakat regulation effective from the 2024 fiscal year onward. Filings for 2023 and earlier aren't supported yet.
RP-COMPUTE-OIL-BRACKETS-MISSING — Oil-sector rates pending · shown as: "Oil/hydrocarbon producer shareholders are present on this case…" This case involves oil/hydrocarbon-producer shareholders, whose special tax-rate brackets aren't yet available in the system, so it can't be computed. Contact support if this applies to you.
RP-COMPANY-NO-PRIOR-CASE — Nothing to copy · shown as: "No prior case with shareholders found for this company…" There's no earlier case to copy shareholders from. Enter the shareholders manually for this case.
Support assistant and tickets
RP-3014 — Assistant unavailable · shown as: "The support assistant is temporarily unavailable. Please try again shortly." The chat assistant is briefly offline. Try again shortly, or email support@riyalplus.ai.
RP-3015 — Ticket not found · shown as: "Support ticket not found." The ticket you opened couldn't be found. Check the link or open your support inbox to find it.
RP-3016 — Conversation expired · shown as: "This conversation has expired. Please start a new one." An old chat has timed out. Start a new conversation to continue.
RP-3017 — No access to this ticket · shown as: "You don't have access to this support conversation or ticket." This ticket belongs to a different account. Sign in with the account that created it.
Exporting your documents
RP-4001 — PDF generation failed · shown as: "PDF generation failed." A temporary problem producing the PDF. Try the export again; contact support if it persists.
RP-4002 — Recompute needed · shown as: "Re-compute required before exporting financial statements." The financial statements are out of date with the latest results. Run compute again, then export.
RP-4004 — No result to export · shown as: "No computed result found. Run computation first." There's nothing to export yet. Run compute first, then export.
Verifying documents (Verify+)
RP-5001 — Document read failed · shown as: "Document extraction failed — please try again." A temporary problem reading the document. Try again; contact support if it persists.
RP-5002 — Wrong document type · shown as: "Unsupported document type for this line." The document isn't a type Verify+ accepts for this line. Upload a supported document for that line.
RP-5003 — Amount not found · shown as: "Could not extract amount from document." Verify+ couldn't read an amount from the document. Make sure the figure is clearly visible, or upload a clearer copy.
Signing in and access
RP-6001 — Session expired · shown as: "Session expired — please sign in again." Your sign-in has timed out. Sign in again to continue.
RP-6002 — Not authorized · shown as: "Unauthorized access." You're not signed in, or your access has ended. Sign in again.
RP-6003 — Admin access denied · shown as: "Admin access denied." Your role doesn't have admin access for this action. If you need it, ask your firm's Admin.
Files and uploads
RP-7001 — Upload failed · shown as: "File upload failed — please try again." A temporary upload problem. Try again; contact support if it persists.
RP-7002 — Download failed · shown as: "File download failed — please try again." A temporary download problem. Try again; contact support if it persists.
The warnings panel
RP-7011 — Action not available · shown as: "Invalid action on warning…" The action you chose isn't available for that warning. Pick one of the offered actions.
RP-7012 — Override reason not allowed · shown as: "Override reason not allowed…" The reason you selected for overriding a warning isn't one of the listed options. Choose a reason from the list.
RP-7013 — Warning not found · shown as: "Warning not found for this case." The warning is no longer on the case (it may have cleared on recompute). Refresh the page.
System errors
These point to something on our side. Your data is safe; our team is alerted.
RP-9001 — Database connection error · shown as: "Database connection error." A temporary system problem. Wait a few minutes and try again; contact support if it continues.
RP-9002 — AI service configuration error · shown as: "AI service configuration error." A system configuration issue on our side. Contact support.
RP-9003 — Unexpected server error · shown as: "Unexpected server error." Something went wrong on our side. Try again; contact support if it persists.
RP-9999 — Unexpected error (with reference) · shown as: "An unexpected error occurred. Reference: … Please contact support if this persists." An unexpected problem with a reference code. Note the reference shown and include it when you contact support — it helps the team find the exact issue.
Internal and retired codes (reference only)
These codes are not shown to users in normal use — they're handled automatically, kept for historical records, or no longer in service. Listed here for completeness; the public help center does not display this section.
- RP-1005 — Invalid column mapping. Retired; the feature that produced it was removed.
- RP-1010 — Extraction timed out. Retired; timeouts now route through RP-1020 / RP-1021.
- RP-1041 — Deterministic recipe extraction failed — falling back to AI extraction. Internal; the system retries automatically.
- RP-1043 — Single-call extraction failed; fallback method. Internal; the system retries automatically.
- RP-2004 — Failed to issue ingest refund. Internal/dormant; no longer raised.
- RP-3018 — Support email delivery failed. Internal log event; the ticket is created regardless of email, and the team follows up.
- RP-COMPUTE-MID-YEAR-OWNERSHIP-UNSUPPORTED — Retired; mid-year ownership changes are now supported and computed automatically.
- RP-8001 — Beta case limit reached. Deprecated; the old quota it guarded no longer exists.
- RP-9004 — Mapping shadow write failed (analytics sidecar). Internal; never affects your filing.
- RP-7010 — Validator registration conflict. Internal system check; not user-facing.

