Skip to main content
POST
Create loan product accounting profile

Autorizaciones

Authorization
string
header
requerido

JWT bearer token issued by the identity provider.

Parámetros de ruta

id
string<uuid>
requerido

Loan product identifier.

Ejemplo:

"550e8400-e29b-41d4-a716-446655440000"

Cuerpo

application/json
accountingMode
enum<string>
requerido

Accounting recognition mode.

Opciones disponibles:
accrual,
cash
Ejemplo:

"accrual"

loanProductVersionId
string<uuid>
requerido

Loan product version identifier.

Ejemplo:

"550e8400-e29b-41d4-a716-446655440001"

postingRules
object[]
requerido

Non-null GL account mappings per accounting event. New profiles require disbursement, repayment, prepayment, accrual, collection_unapplied, collection_reapply, and collection_refund; accrual_tax, accrual_fee_amortization, assignment_derecognition, assignment_retained_settlement, assignment_repurchase, refinance_payoff, refinance_payoff_reversal, provision_constitution, provision_reversal, renegotiation_gain, renegotiation_loss, renegotiation_derecognition and renegotiation_recognition are optional. A product whose receivables are ever assigned to a fund MUST carry assignment_derecognition: the cession flip and its write-off are both-or-nothing, so an acceptance over a product without it refuses and queues an exception case. It MUST also carry assignment_retained_settlement to be sellable mid-cycle: an instalment that fell due before the cession cut stays with the assignor, and this rule names the account it is reclassified into at acceptance and liquidated out of when its payroll repasse lands. Without it an acceptance over a receivable that retains one refuses instead of selling flow the fund did not buy. A product whose sold receivables can be settled early by the bancarizador (a refinance) MUST carry assignment_repurchase: without it the fund-settlement receipt is refused, because flipping the contract back onto this book with nothing to recognize the asset against is the failure the both-or-nothing rule exists to stop. A product that is refinanced MUST also carry refinance_payoff and refinance_payoff_reversal, which discharge the old contract against the bancarizador warehouse advance and restore it if the rail undoes the swap inside its regret window. A product that retains an origination fee at disbursement MUST carry accrual_fee_amortization, and its disbursement rule MUST carry the optional origination_fee component credit leg: the fee is withheld from the borrower's cash at t0 and earned back as yield over the life, so without them the fee has no account to be deferred in and none to be earned out of, and every centavo of it is refused rather than falling back onto the borrower's interest receivable. A product booked under Brazilian credit-loss rules MUST carry provision_constitution and provision_reversal: the engine measures every contract's provision on every business date and posts the movement against the previous measurement, so a product without them accrues a measured provision that never reaches the ledger. A product whose contracts are renegotiated under Res. CMN 4.966/2021 art. 22 MUST carry renegotiation_gain and renegotiation_loss: a NON-substantial modification settles the difference between the modified payments and the carrying amount immediately, and a product with neither computes an adjustment with nowhere to book it. It MUST carry renegotiation_derecognition and renegotiation_recognition to be renegotiated SUBSTANTIALLY: that modification ends the old contract and mints a new one, so the two halves post separately against a bridge account, and a product missing either would derecognise a contract with nothing recognised in its place.

Required array length: 7 - 20 elements
midazLedgerId
string

Optional per-product Midaz ledger the profile's postings route into; both-or-neither with midazOrganizationId. Required under multi-tenant mode; empty single-tenant profiles fall back to the env default.

Maximum string length: 128
Ejemplo:

"ledger-def"

midazOrganizationId
string

Optional per-product Midaz organization the profile's postings route into; both-or-neither with midazLedgerId. Required under multi-tenant mode; empty single-tenant profiles fall back to the env default.

Maximum string length: 128
Ejemplo:

"org-abc"

Respuesta

Created

accountingMode
string
requerido

Accounting recognition mode (accrual|cash).

Ejemplo:

"accrual"

createdAt
string
requerido

Creation timestamp (RFC3339, UTC).

Ejemplo:

"2026-06-14T12:00:00Z"

effectiveFrom
string
requerido

First civil day (YYYY-MM-DD) this chart of accounts governs, always a month start. A posting is booked against the chart in force for the competência it belongs to, never the day the run happened. A version configured before dated configuration reads 1900-01-01, because it was the only chart that version ever had.

Ejemplo:

"1900-01-01"

id
string
requerido

Server-assigned accounting profile identifier (uuid).

Ejemplo:

"550e8400-e29b-41d4-a716-446655440003"

loanProductVersionId
string
requerido

Loan product version this profile is configured for (uuid).

Ejemplo:

"550e8400-e29b-41d4-a716-446655440001"

postingRules
object[] | null
requerido

Persisted GL account mappings, one per accounting event.