Scope
You hold the funds. Money arrives in your own account and you report that it arrived. The Platform initiates no transfer, touches no bank and holds no balance. It derives which loan, which period and which charge a receipt settled, from what you reported rather than by matching amounts, dates or references. It also opens no connection toward you. There is no webhook and no callback URL, and every answer travels on a request you make. Model carries what that means for reminders and for watching a loan fall overdue. Loans are issued under Mexican rules: the CAT disclosure, VAT on interest and the penalty caps. A loan naming another jurisdiction is refused.Foundations
Three objects come first, and every loan names two of them.Tenancy
A Tenancy is your business on the Platform. It is registered once assandbox or live, and every product, client, loan and receipt you create belongs to it.
Nothing is shared between two tenancies. A key authenticates for one tenancy, every request path names it, and your own reference is unique inside it. Sandbox and live carries what each kind permits.
What the company behind the tenancy is called, where it lends and the clock it keeps are held beside it as its Company profile. No figure on this page reads any of them, and no loan requires one to exist.
Product
A Product is a versioned set of terms that loans are issued under, held under an identifier the Platform composes for it. It carries the principal bounds, the rate corridor, the fees, the term menu and the cadence of the schedule. Every product is built on one Archetype, which fixes the repayment shape and decides which fields the product carries. You choose among the three the Platform defines and cannot declare a fourth.
A product is never edited in place. A change writes a new version, every earlier version stays readable, and a loan keeps the version it was issued under.
Products carries every setting and the three archetypes.
Client
A Client is an identifier you register for someone you lend to. It is registered before a loan can be issued, and it is the whole of what the Platform asks about that person. No personal data sits behind it: no name, no date of birth, no address, no identity document and no contact. The one free-text field is a label the Platform never reads. The label can be corrected. Nothing else about a registration can: the identifier is yours, the moment it was registered is the Platform’s, and both are refused a change. A registration is never withdrawn. Loans and receipts name these identifiers, so a registration removed would leave records naming a client the registry says was never registered. Clients carries registration, retries and correcting a label.Lending
A loan is where terms stop being a configuration and become an agreement.Loan
A Loan is a debt issued to one client under one version of one product. Everything the agreement costs is priced at issuance: the schedule, every period’s amounts, and the CAT the borrower is shown. A later change to a rate, a fee, a holiday set or a product does not reach those figures, because nothing recomputes them. A read returns the rows issuance wrote. Where a loan stands is not a stored column. It is folded from that loan’s own recorded facts on every read, and five states are reachable:active, cancelled, ceded, closed and written_off.
Where the facts support more than one, they resolve in a fixed order: cancelled, then ceded, then written_off, then closed, then active. A loan you charged off and then sold reads ceded, and the write-off stays among its facts.
Loans carries issuance, the five states and every act that changes one.
Schedule
A Schedule is the set of periods a loan is planned to be repaid over. Its dates come from the product’s cadence, and a due date landing on a non-working day moves forward to the next one. That move shifts collection and not interest. Interest runs between the scheduled dates, because the holiday is a property of the Platform’s calendar rather than of anything the borrower did. Pricing carries how the dates are placed.Period
A Period is one step of a schedule. It carries two dates and five amounts: principal, interest, fee, tax, and the payment that sums them. Periods mature one at a time. What has matured fixes what a receipt settles first, what counts as overdue, and what a prepayment must reach past. Pricing carries what each amount is derived from.Money
You hold the funds, and the Platform derives what they settled.Receipt
A Receipt is your report that money arrived from a client on a date. It is addressed to a client rather than to a loan, because a client may hold several. The date it carries is the value date, which is when the funds arrived rather than when you reported them. Interest, penalty and the order of allocation all run on it. No receipt is refused for its size. Less than due, more than due, more than the whole loan, and money on a loan that owes nothing are all recorded. A receipt may also state how the money arrived: arail, one of card, spei, cash, direct_debit or other, and a provider_reference, the handle your payment provider assigned it. Both are recorded verbatim, echoed on every read, and read by no derivation, the allocation neither knows nor cares how the money travelled. They exist so that a chargeback naming your provider’s handle finds the receipt it is about, instead of being matched by amount and date.
Both are part of the receipt’s identity. A second report under a recorded reference that states a different rail is a report that disagrees with the record and is refused 409, not a correction.
Payments carries the whole report and what comes back.
Election
An Election is the borrower’s statement of what a receipt’s money does once every matured period stands settled. It is stated on the receipt, and stating nothing is the ordinary case.
Neither prepayment is gated by a product. Both are the borrower’s own right, so a product that ordinarily advances instalments still yields to a receipt electing
principal.
Stating nothing has a floor beneath the product’s own default. A remainder smaller than one instalment is treated as advance whatever the product records, because a Pago Anticipado must equal or exceed the payment of the corresponding period and a smaller sum cannot be one. A borrower who rounds a payment up by a peso therefore settles the next instalment early rather than re-amortising the loan. A remainder that repays the whole outstanding principal is not held to the floor: it ends the plan, so there is nothing left to re-amortise.
Payments works each election through.
Allocation
An Allocation is the derived answer to what a receipt settled: which loan, which period, which charge. No table holds it, and it is recomputed from your reported receipts in value-date order every time it is asked for. It is decided at two levels. Between the loans it honours the borrower’s designation where you passed one on, and otherwise applies the jurisdiction’s supplementary rule. Within one loan it walks the matured periods oldest first, settling each period’s charges in the order that jurisdiction fixes. Two things about that order are not jurisdictional, and no rule overrides them. Principal is settled last, and a matured obligation is settled before a later one. Payments carries the order in full.Obligation
An Obligation is what you owe a client back. Money above everything that client owes is recorded as one rather than discarded. The Platform neither returns it, offsets it nor recognises it as income. One bounded case is not an obligation. Where the loan a receipt discharged carries a tolerance band and the excess falls inside it, the excess is recorded as your residual income, named by the receipt and reported beside the discharge. Beyond the band, and on any product that states no band, everything is owed to the client exactly as above. Payments carries how one is read and settled.Lateness
Lateness costs a loan money, and that cost is derived rather than posted.Arrears
Arrears are what lateness costs a loan: the penalty, the late fee, and the tax on each. They start once a period stands unpaid past its adjusted due date and its tolerance days. A period whose unsettled residue is inside the product’s tolerance band never starts them at all. Interest runs to the scheduled date. The due date is that date moved off a non-working day, and tolerance days run from it. Past them the period is overdue: penalty accrues and the late fee is earned once. No job posts them. They are derived for the date your request names, from every fact on record at the moment you ask. A receipt reported late therefore changes the answer for each date after its value date. The terms they accrue under are frozen at issuance: the penalty rate, the late fee and the tolerance days the product version carried. Delinquency carries when a period turns overdue and what it costs.Write-off
A Write-off is your judgement that a loan is uncollectable. Charging stops from the date you name, and the loan reportswritten_off.
It releases nobody. The debt survives in full, stays collectable, and money arriving afterwards is recorded against it.
Delinquency carries the act and what it stops.
Suspension
A Suspension is your record that a loan’s clock stands still between two dates. Inside the window no period becomes overdue and none accrues penalty or counts a day past due; the plan does not move. The loan staysactive, and every dated read names the suspension in force.
An early end restarts the clock sooner and keeps the days already paused. Delinquency carries the arithmetic.
Cession
A Cession is your record that a loan was sold. It carries the cut-off, the day the loan stopped being yours to service, and the loan reportsceded from it.
From the cut-off the Platform records no further fact about the loan, quotes nothing for it, and refuses money reported against it. Every question about a date before the cut-off answers what it always did. The Platform models no assignee: settling with the buyer, telling the borrower and reporting the assignment stay yours. Selling a loan carries it in full.
Corrections
Nothing recorded is edited or deleted, so a wrong fact is undone from the outside.Withdrawal
A Withdrawal is how a recorded fact stops counting. A Receipt is reversed, a recorded loan event is retracted, and the withdrawn record stays readable while contributing to nothing. Every figure is then derived again without it. A closure withdrawn by the reversal of the receipt that caused it is not repaired; the fold produces whatever state now follows. A withdrawal is itself an irreversible act, so it states what the other acts state: your own reference for it, anactor and a basis. A reversal states a reason as well, from chargeback, returned_transfer and operator_error. Model carries the fields and their bounds.
Anomaly
An Anomaly is a disagreement the Platform resolved, or a figure it could not establish. It is reported inanomalies beside the answer rather than raised as a failure.
No figure the Platform cannot state arrives as null. The field is left out and anomalies names why.
Correcting mistakes carries both, and what a withdrawal cannot undo.