Troubleshooting
"Too many attempts. Please try again later."
Cause: Five failed sign-in attempts on one email lock that email out for 15 minutes. Failures are deliberately generic (no account enumeration).
Fix: Wait 15 minutes and try again. If you've forgotten the password, don't keep guessing — ask the operator of your deployment to reset it, which mints a fresh set-password link (an admin regenerates a locked-out user's link). Nobody can read your existing password.
"Please verify your email first - check your inbox for the link."
Cause: You signed up but haven't confirmed your email yet; login is refused until you do.
Fix: Open the verification link in your inbox. It expires after 48 hours — if it's stale, sign up again for a fresh one. Signing in with Continue with Google also counts as confirmation, since Google has already verified the address.
Set-password link says it's invalid or expired
Cause: Set-password links are one-time and last 7 days. A newer link (for example, from a later reset) also replaces any older one, so an earlier link stops working.
Fix: Ask an admin to reset your password. That mints a fresh 7-day, single-use link. Open it, set a password, then sign in with email + password at the login page.
"Complete these details before submitting to LHDN:"
Cause: Bilvx runs a completeness check before sending, so LHDN requirements that are missing are caught locally instead of coming back as a rejection. The confirmation page lists each gap with a link to the exact form that fixes it.
Fix: Work through the listed items — each links to the field it needs. See Submitting to LHDN MyInvois and Managing Companies, Customers & Suppliers for what local-vs-foreign parties require.
"Issuing company has no TIN configured"
Cause: The issuing company has no TIN. The TIN is the onbehalfof taxpayer identifier sent to MyInvois, and a company without one cannot submit at all — the Submit to LHDN button is hidden until it's set.
Fix: Edit the company in the portal and set its TIN; no database step is needed. The Submit button also requires a CUSTOMER_ADMIN session, a DRAFT invoice, and submission configured on the deployment. See Submitting to LHDN MyInvois.
"LHDN submission is not configured on this deployment." (503)
Cause: The deployment has no LHDN signing keystore configured, so the submission stack is disabled. The Submit button is hidden and /submit returns 503.
Fix: This is an operator setting, not a user one — the operator configures the LHDN keystore and MyInvois credentials. See Configuration Reference and Deploying & Operating Bilvx.
Rejected at LHDN: "authenticated TIN and documents TIN is not matching" (400 ValidationError)
Cause: In ERP (own-documents) mode, LHDN requires the OAuth authenticated taxpayer TIN, the signing certificate's TIN, and the document supplier TIN to be the same. A mismatch between the registered API client and the certificate's taxpayer produces this error — and it appears regardless of the company TIN, which cannot reconcile it.
Fix: This is an LHDN onboarding matter, not app configuration: the API client must be registered under the certificate's taxpayer profile. (Note: for intermediary submission, the signing-certificate TIN is independent of the company TIN by design and a difference there is never the cause.) This is an operator/admin action.
Invoice shows SUBMITTED but not yet VALID
Cause: LHDN validates asynchronously and decides the timing. Bilvx polls MyInvois and updates the status automatically — usually within moments — so there is nothing to refresh.
Fix: Wait; the status badge live-refreshes on its own. See Creating & Managing Invoices.
Invoice turned INVALID after submission
Cause: LHDN's validation failed; the reason is shown on the invoice.
Fix: Re-open the invoice for editing, correct the flagged detail, and resubmit. See Submitting to LHDN MyInvois.
"The document exceeds the 1.5 MB limit" (capture upload)
Cause: The uploaded file is over the 1.5 MB cap. Phone photos above the cap are auto-shrunk in the browser first, so a rejection usually means a very large scan.
Fix: Export the document as a smaller PDF or JPEG and retry. See Capturing Supplier Documents.
"Only PNG, JPEG, WEBP or PDF documents are accepted" (capture upload)
Cause: The file type isn't supported. Capture accepts PNG, JPEG, WEBP, and PDF only.
Fix: Convert the file to one of those formats — export as PDF or JPEG — and upload again.
Welcome / set-password / reset emails land in spam or aren't delivered
Cause: Outbound mail is best-effort and depends on the sending domain authorizing the relay. Without an SPF record covering the relay and DKIM signing enabled, messages land in spam or are rejected outright. A failed send never blocks the triggering flow — it's recorded in the mail audit log, and the set-password link is still shown in the admin confirmation for hand relay.
Fix (operator): Publish an SPF record covering the relay's IPs and enable DKIM signing on the relay, then verify with a mail-tester service before relying on the channel. Until then, relay set-password links out-of-band. See Configuration Reference and Deploying & Operating Bilvx.
More answers
Recurring questions about e-Invoicing, accounts, capture, and plans — grounded in the product's real refusal messages — are collected in the FAQ.