Errors, Warnings and Limits
When a seller reports that the portal "gave an error", what they saw is one sentence on their phone, written for them. Behind that sentence there is always a code that AltScore returned, and the code says much more than the sentence does. It tells you whether the seller typed something wrong, whether the organization's setup is missing a piece, or whether a service was briefly unavailable. This page works backwards from the message to its cause, so whoever takes the report can tell which of the three it is and who has to act.
The tables quote the portal's English messages exactly as the seller sees them. Many messages come from a fixed limit, such as a maximum number of installments, a session length or a code that expires. The last section collects all of those numbers in one table, with a link to the page that explains each one.
How to Read This Page
Every message falls into one of three groups, and the group decides who fixes it.
| Group | What it means | Who acts |
|---|---|---|
| Seller-fixable | Something the seller typed, chose or did: a wrong code, an operation number already in use, a session that ran out. | The seller, by correcting the field or signing in again. |
| Organization configuration | A setting the portal needs is missing or switched off. Nothing the seller does changes it. | The operator in the Hub, or AltScore for the parts only AltScore sets up. |
| Temporary | A service did not answer in time or could not be read. | Nobody, at first: wait a few minutes and try again. If it keeps happening, AltScore. |
The seller never sees a code. The portal turns each code into its own message, and it never shows a raw code on a seller's phone. The technical text that comes with a code reaches the screen in only one case, described in Connection and Unexpected Errors. The codes in the tables are what AltScore returns and what support works from when tracing a report. To find the right row from what the seller describes, search the page for the message.
Configuration messages never end the seller's session. A feature that is switched off or a setting that is missing is reported as an error on that one action. The seller stays signed in and can keep using everything else.
Sign-in and Session
A session that ends is not shown as an error under a form. It replaces the whole screen with a page that has an icon, a title and a short explanation. While the portal is still checking the access, the seller sees Checking your access....
How the seller gets back in depends on the organization's sign-in method, which the operator chooses in the Hub (see Access and Sessions). With access links, the screen tells the seller to open their link again and offers no button, because there is no form to return to. With one-time codes, the seller goes straight to the code sign-in form for an expired or replaced session, a session past its maximum, revoked or expired access, or a missing session, without seeing a failure screen at all. When the portal cannot tell which method the organization uses, the screen offers Log in again.
| Code | What happened | Screen title | Way out |
|---|---|---|---|
INVALID_TOKEN | No seller holds that access link. It was cut short when copied, mistyped, or replaced when the operator regenerated the seller's access. | Invalid link | The seller opens the full link. If it still fails, the operator uses Regenerate access and sends the new link. No button. |
SELLER_DELETED | The seller's record was deleted. | This seller no longer exists | Only the operator can help. No button. |
TOKEN_REVOKED | The operator revoked the seller's access link. | Your access was revoked | The operator generates a new link. No button. |
TOKEN_EXPIRED | The access link reached the expiry chosen when it was generated. | Your access expired | The operator regenerates access and sends the new link. |
SESSION_SUPERSEDED | A newer sign-in, on another device or browser, replaced this session. | This session was closed | The seller signs in again on the device they are going to use. |
SESSION_EXPIRED | The short session token aged out and could not be renewed. The portal normally renews it without the seller noticing, so this screen appears only when the renewal itself failed. | Your session expired | The seller signs in again. |
SESSION_TOO_OLD | The session passed the organization's maximum, so renewal is refused. | Your session reached its limit | The seller signs in again. |
INVALID_SESSION | The session is missing or malformed. | You need your access link | The seller opens their link again, or signs in with a code. |
SELLER_LOGIN_METHOD_DISABLED | The organization uses the other sign-in method. | A link opened while the organization signs in with codes leads to the code form. On the code screen, the seller reads "The sign-in method changed. Reload the page to continue." | The seller reloads and uses the method the organization has now. |
The bodies of these screens say what to do in the seller's words. For example, This session was closed reads "Your access was opened on another device and this session was closed. Log in again to continue on this one.", or, for an organization that uses links, "Your access was opened on another device and this session was closed. Reopen your link on the device you are going to use."
Two more screens are not about the session itself. No connection appears when the phone has no signal, and it takes the place of any of the screens above while the phone is offline. Something went wrong covers anything the portal cannot classify. Both offer a Try again button.
Code Sign-in Messages
When the organization signs in with one-time codes, the code screen shows its errors inline, under the field, instead of replacing the screen.
| Code | Message | What it means |
|---|---|---|
OTP_INVALID_CODE | "The code is not correct. Check it and try again." | The code is wrong, or it was already used once. A code works only once. |
OTP_EXPIRED | "The code expired. Request a new one with "Resend code"." | More than 10 minutes passed since the code was sent. The code box is cleared. |
OTP_TOO_MANY_ATTEMPTS | "Too many attempts with this code. Request a new one with "Resend code"." | The seller failed 5 times with the same code. The code box is cleared. |
SELLER_OTP_TEMPLATE_MISSING | "The administrator still needs to finish setting up code delivery. Let your supervisor know." | No code template is selected. See Organization Configuration. |
| Network or timeout | "We could not reach the server. Check your signal and try again." | The request did not get through. |
| Anything else | "We could not complete this step. Try again in a few seconds." | Unclassified. |
Before anything is sent, the portal checks the shape of what the seller typed. A phone has to be 6 to 15 digits, with an optional leading +, or the seller reads "Check the number: digits only, with the country prefix if needed." An email has to look like an address, or the seller reads "Check the email: it does not look like a valid address."
When no code arrives, the screen gives no error, on purpose: it always moves to the code step and never confirms whether the phone or email belongs to a seller. The usual causes are a phone typed without the country code it was registered with, a contact that is not the one on the seller's record, or a phone or email that two sellers share, in which case neither receives a code. The Hub flags the last one in the sellers panel under Sales routes.
Customers and Search
The Customers section has few errors, and most of them are temporary.
| Message | When it appears | Who acts |
|---|---|---|
| We could not load your customers — "The request did not come back. Try again in a few seconds." | The list failed to load. A Try again button is shown. If a later page fails, a line appears under the list instead. | Nobody: retry. |
| No results — "No customer on your routes matches that search. Try fewer letters or go back to the full list." | The search found nothing. This is not an error, and See all my customers clears the search. | The seller. |
| Customer not available — "This customer is no longer in your routes or was removed." | The seller opened a customer who left their routes, or who was removed. Back to the list returns to the book. | The operator, if the customer should be on the seller's route. |
| "Customer search is not enabled for your access. Fill in the details by hand." | In the prequalification step, the Already a customer? search is not allowed. | The operator, with Customer search in this step. |
AltScore refuses a search in two cases: when it is longer than 64 characters (SEARCH_TOO_LONG), and when the initial filter is not a single letter or # (STARTS_WITH_INVALID). A search that is empty after trimming spaces is not refused: it is treated as no search and returns the full list. The portal already prevents both refusals before sending, because its search box stops at 64 characters and the initials come from its own A-Z filter. They only appear when someone calls AltScore directly. How the search itself works is covered in Customer Book.
Simulating and Saving
Most simulation problems never reach AltScore, because the portal catches them first. Fields that are empty or out of range are marked under the field, and the save button stays disabled while the payment plan has a blocking problem (see Operation Data and Payment Plan). The messages below come back from AltScore when the seller saves or edits a simulation, and they appear as a red banner in the simulation step. When a discard or a reactivation is refused because the simulation's status no longer allows it (OWN_FINANCING_INVALID_STATUS), the simulation's page reloads it so it shows its current status.
| Code | Message | What it means | Who fixes it |
|---|---|---|---|
OWN_FINANCING_CAPITAL_MISMATCH | "The sum of the capitals does not match the amount financed." | The installment capitals do not add up exactly to the amount to amortize. The portal blocks saving while they do not, so this is rare. | The seller adjusts the capitals. |
OWN_FINANCING_PRODUCT_NOT_FOUND | "The chosen product does not exist." | The product does not exist for the organization's credit partner, for example because it was removed while the seller was working. | The seller reloads and picks another. The operator, if the catalog is wrong. |
OWN_FINANCING_PRODUCT_NOT_CUSTOM | "The chosen product does not support custom schedules." | The product is not a custom-amortization product, and own financing only works with those. | The operator, in the credit product setup. |
OWN_FINANCING_PRODUCT_DISABLED | "The chosen product is disabled." | The product exists but is not enabled. | The operator re-enables it, or the seller picks another. |
OWN_FINANCING_NOT_EDITABLE | "This simulation cannot be edited in its current state." | Only a simulation that is pending approval or expired can be edited or have its operation number set. One that was approved, is being approved, has an incomplete approval (Approval incomplete) or was discarded in the meantime cannot. | Nobody in the portal: the simulation has moved past the statuses that allow editing. |
OWN_FINANCING_BOLETO_IN_USE | "That operation number is already used by another simulation." | Another live simulation of the organization already uses that operation number. Discarded simulations do not count. AltScore checks it on create, on edit and when the operation number is set in the Hub. | The seller uses the right number, or discards the old simulation that holds it, which frees the number. |
OWN_FINANCING_RATES_MISMATCH | "The product's rates changed while you were building this simulation. Reload and check the numbers before saving." | The rates the screen quoted (VAT, refinancing VAT, origination fee) differ from the current ones, for example because the product's rates or the organization's rates changed while the seller was working. | The seller reloads and reviews the numbers. |
OWN_FINANCING_PREQUALIFICATION_REQUIRED | "Your configuration requires a pre-qualification before saving the simulation. Go back to the pre-qualification step and validate the customer." | The organization does not allow continuing after a prequalification result that is not accepted, and this simulation has none that is. | The seller prequalifies the customer. The operator decides the policy with Allow continuing anyway. |
A few refusals have no message of their own and show the generic line, "We could not complete the operation. Please try again." The most common is OWN_FINANCING_SIMULATION_NOT_FOUND, for a simulation that does not exist or belongs to another seller: AltScore answers both the same way, so a seller who opens a colleague's simulation link sees only the generic line. The other is PORTAL_CUSTOMER_NOT_FOUND, for a customer the seller can no longer reach when saving.
Codes the Portal Knows but Rarely Shows
The portal has a message ready for each of the codes below, but in normal use a seller does not get them while simulating. Most of them come from approval, which only happens in the Hub (see Own Financing in the Hub). If a seller reports one, treat it as unusual and send it to AltScore along with the simulation ID.
| Code | Message | What it means | Who fixes it |
|---|---|---|---|
OWN_FINANCING_BORROWER_WITHOUT_CMS_CLIENT | "This customer has no credit account. Create one before simulating." | The customer has no credit account. AltScore checks this during approval. | The operator, by setting up the customer's credit account before approving. |
OWN_FINANCING_FLOW_CREATE_FAILED | "We could not create the operation. Please try again." | The operation could not be created in the credit system. This happens during approval. | Nobody at first: try again. If it persists, AltScore. |
OWN_FINANCING_SCHEDULE_MISMATCH | "The stored schedule does not match the calculated one. Please try again." | The schedule the credit system calculated differs from the saved one. This happens during approval. | AltScore, with the simulation ID. |
OWN_FINANCING_TERM_MISMATCH | "The term is longer than the credit product's maximum." | As an error, the term is above the product's maximum. Today a longer plan is saved as built, with a warning on the summary instead (see Operation Data and Payment Plan). | The seller shortens the plan, or the operator reviews the maximum term. |
OWN_FINANCING_NOTHING_TO_AMORTIZE | "The down payment covers the whole capital, so there is nothing left to finance. Lower it or raise the amount." | Nothing is left to finance. The portal never charges a down payment, so a seller cannot trigger it. | AltScore, with the simulation ID. |
The Document
The portal does not ask AltScore for a PDF. Print or save as PDF reads the saved simulation and the document texts (product name, terms, footer and logo), draws the sheet in the browser and opens the print dialog, where saving as PDF is one of the options. While that happens the button reads Preparing the document…. If either read fails, the seller sees "We could not prepare the document." under the button and can try again. If it keeps failing on the same simulation, report it with the simulation ID.
Warnings Are Not Errors
After a save, the summary may show an amber box titled Your company applied its own terms. Everything in it is a warning, and the simulation was saved anyway: a plan longer than the maximum term, or an operation number that matches no deal, several deals or another customer's deal. Each case is explained in Operation Data and Payment Plan.
Simulation actions have their own messages, from "That action is already running for this deal. Wait for it to finish." to the reasons an action button is disabled. They are covered in Simulation Actions.
Organization Configuration
These messages point at the organization's setup, not at the seller. The seller can only pass them on, and none of them ends the session.
| Code | Message | What it means | Fixed by |
|---|---|---|---|
PORTAL_CAPABILITY_DISABLED | "This feature is not enabled for your organization." | The portal's setup does not open what the seller tried to use: the customer book, prequalification or building an operation. | The operator, under What they can do in Settings > Configuration > Seller portal. |
OWN_FINANCING_FEATURE_MISSING | "Own financing is not enabled for your organization." | Own financing is not turned on for the organization as a product. | AltScore. |
CMS_PARTNER_NOT_CONFIGURED | "Your organisation's credit account is not set up yet. Let your administrator know." | The organization has no credit partner, so there is nowhere to price or file the operation. | AltScore, when it sets up credit for the organization. |
CMS_CURRENCY_NOT_CONFIGURED | "The credit settings define no currency. Let your administrator know." | The organization's credit setup has no default currency. | AltScore, when it sets up credit for the organization. |
CMS_SETTINGS_UNAVAILABLE | "We could not read the credit settings. Try again in a few minutes." | The credit system could not be read just now. | Nobody: try again later. If it persists, AltScore. |
CMS_PRODUCTS_UNAVAILABLE | "We could not load the credit products. Try again in a few minutes." | The credit products could not be read just now. | Nobody: try again later. If it persists, AltScore. |
SELLER_OTP_TEMPLATE_MISSING | "The administrator still needs to finish setting up code delivery. Let your supervisor know." on the sign-in screen, the only place it can appear. | The organization signs in with codes but has no OTP template selected, so no code can be sent and no seller can sign in. | The operator, under Seller access in the seller portal settings. Templates are managed in OTP Templates. |
Several screens do not need a code to explain themselves, because they already name what is missing. When no prequalification can run, the step shows Pre-qualification is not available yet and says whether nothing is published, nothing is configured, or the configured evaluation is no longer published (see Prequalification). The onboarding card does the same for a missing bot or channel (see Customer Onboarding). When the product list in the Customer and operation step is empty, it shows No own-financing products are enabled. and the button to continue stays disabled. The same line appears when the list could not be loaded at all, for example because the credit products could not be read, the organization has no credit partner, or own financing is off, so it does not always mean the catalog is empty. If the operator confirms a custom-amortization product is enabled, ask the seller to reload; if it persists, report it to AltScore.
If the operator publishes a new version of the prequalification evaluation while a seller is working, the portal finds the new version and retries once on its own. If that also fails, the seller reads "The prequalification changed while you were working. Reload the page to use the new version." A reload fixes it, unless the evaluation was unpublished, in which case the operator has to publish it again or choose another.
Onboarding
Sending the onboarding to the customer can fail because of what the seller typed or because of how the organization's channels are set up. The bot and the channel are both chosen in the Hub, so the seller can fix only the contact field.
Before sending, the portal checks the contact. An email that does not look valid gives "Enter a valid customer email.", and a phone without 8 to 15 digits gives "Enter a valid phone number, with country code." These are the codes AltScore can return once the request is sent:
| Code | Message | What it means | Who fixes it |
|---|---|---|---|
PORTAL_ONBOARDING_EMAIL_REQUIRED | "Enter the customer's email." | The web channel needs the customer's email, and none arrived. | The seller. |
PORTAL_ONBOARDING_PHONE_REQUIRED | "Enter the customer's phone number." | The WhatsApp channel needs a phone, and none arrived, or what arrived is not a number. | The seller. |
PORTAL_ONBOARDING_PHONE_NOT_OF_CUSTOMER | "That phone is already in another customer's conversation. Check it before sending." | The number already belongs to another customer's WhatsApp conversation. A new number that nobody has yet is accepted. | The seller checks the number. |
PORTAL_ONBOARDING_FLOW_NOT_ACTIVE | "The chosen bot is no longer published. Tell your administrator." | The configured bot is a draft, archived or unknown. | The operator publishes it again or chooses another in Bot that greets the customer. |
PORTAL_ONBOARDING_WHATSAPP_CHANNEL_MISSING | "WhatsApp is not connected on this account, so the onboarding cannot go out. Tell your administrator." | The organization has no WhatsApp channel connected. | The operator connects one in Channel Connectors. |
PORTAL_ONBOARDING_EMAIL_CHANNEL_MISSING | "Email is not connected on this account, so the onboarding cannot go out. Tell your administrator." | The organization has no email channel, or the channel has no inbox. | The operator, in Channel Connectors. |
PORTAL_ONBOARDING_CHANNEL_UNSUPPORTED | "That channel is not available." | The channel is neither web nor WhatsApp. | The operator, in How it is sent. |
PORTAL_ONBOARDING_WEB_URL_MISSING | "The web chat is not configured yet. Tell your administrator; WhatsApp does work." | The web chat address is not configured. | AltScore. Meanwhile the operator can switch How it is sent to By WhatsApp, with a QR. |
When WhatsApp or email is not connected, the card also stops offering the send, so the seller does not keep trying.
Connection and Unexpected Errors
These messages can appear on any screen. The portal waits up to 15 seconds for each request to AltScore before giving up.
| Message | What it means |
|---|---|
| "The service is unavailable right now. Try again in a few minutes." | The portal is not connected to AltScore at all. Waiting does not fix it and nothing the seller or the operator does changes it: report it to AltScore. |
| "The request took too long. Try again." | The request took more than 15 seconds. |
| "Something is missing or mistyped. Check the form and try again." | The form arrived with missing or wrong data. |
| "Something failed on our side. Try again; if it keeps happening, let your administrator know." | AltScore could not be reached, or it failed without saying why. |
| "We could not complete the operation. Please try again." | The generic line, for anything the portal has no message for. |
There is one exception to the generic line, and it applies only on the simulation step (previewing or saving the plan) and when sending the onboarding. There, when AltScore rejects a request because of something the seller typed and the code is one the portal has no message for, the screen shows AltScore's own validation message instead, because a concrete explanation beats "try again". Everywhere else the generic line is shown. That message is written in English, so a seller using the portal in Spanish may see an English sentence. Only this case shows AltScore's text. Problems further inside AltScore never reach the seller's screen.
Losing the connection is different from a failed request. When the phone goes offline, a bar at the top reads "You are offline. This is the data that was already loaded.", and the seller can keep reading what is on screen until the connection returns.
Limits at a Glance
The numbers below come from the other pages of this section and are repeated here so they can be found in one place.
| Limit | Value | Where it is explained |
|---|---|---|
| Installments per payment plan | Up to 20 | Operation Data and Payment Plan |
| Simulation actions | Up to 5 per organization | Simulation Actions |
| Action label | Up to 40 characters | Simulation Actions |
| Prequalification answer lists | Up to 20 values per list, 60 characters each | Configuring the Portal |
| Document footer | Up to 2000 characters and 12 lines | Configuring the Portal |
| Session length | 5 to 1440 minutes (default 45) | Access and Sessions |
| Maximum before signing in again | 1 to 720 hours (default 12) | Access and Sessions |
| Sign-in code | 6 digits, valid for 10 minutes, 5 attempts | Access and Sessions |
| Waiting time before Resend code | 60 seconds | Access and Sessions |
| Access link expiry | 30, 90, 180 or 360 days (default 90) | Access and Sessions |
| Customer search | Up to 64 characters | Customer Book |
| Customers per page | 20 | Customer Book |
| Simulations per history page | 15 | Saved Simulations and History |
| Request timeout | 15 seconds | Connection and Unexpected Errors |
| Prequalification result | After 3 minutes, the screen says the check is taking a while | Prequalification |
| Simulation action result | After 3 minutes, the screen says the action is taking longer than usual | Simulation Actions |
| Download links for action documents | Expire after 1 hour. The portal fetches a fresh one on every download | Simulation Actions |
| Free data on a simulation created through the API | Up to 32 KB | The paragraph below this table |
With own financing, a seller can preview a plan, list the products, list and open their simulations, create and edit them, set the operation number, discard, reactivate, get the document, send the onboarding and list the bots. All of it needs both the portal's operation capability (Build an operation in the Hub) and the organization's own-financing feature, and anything done on a saved simulation also requires it to be the seller's own. There are no exceptions: with the capability or the feature off, the seller cannot open, list, print or discard their simulations either. Nothing is deleted, and they come back once the capability and the feature are on again.
Simulations created through the API can carry a free data object of up to 32 KB. AltScore stores it and returns it exactly as sent, and an edit replaces it whole. The portal never sends it, so editing such a simulation from the portal erases its free data. A value that is not a data object is refused with OWN_FINANCING_METADATA_INVALID, and one over the size limit with OWN_FINANCING_METADATA_TOO_LARGE.
Things to Know
The message is the only thing the seller has. No code and no internal identifier ever reaches the seller's screen, and AltScore's own text only in the one validation case described above. When a seller reports a problem, ask for the exact sentence and, if a simulation was saved, the Simulation ID from the summary. Those two are enough to find the row on this page and the record in the Hub.
The generic line is not a diagnosis. "We could not complete the operation. Please try again." covers anything without its own message, including a simulation that belongs to another seller. If retrying does not change it, the cause is not temporary.
A timeout does not cancel the work. The portal stops waiting after 15 seconds, but AltScore may still finish what it was doing. Before saving again after "The request took too long. Try again.", the seller should check the history for the simulation. If they typed an operation number, a duplicate is refused anyway, with "That operation number is already used by another simulation."
Regenerating access breaks the old link on purpose. A seller who opens an old link after the operator used Regenerate access lands on Invalid link, not on Your access expired. The fix is to send them the new link, not to regenerate again.
Configuration errors reach every seller at once. A missing template, an unpublished bot or a switched-off capability affects every seller of the organization the same way. When several sellers report the same message, check the Hub settings before looking at each seller.