Core or servicer, administrator files and receivables system
One snapshot per closing date, exclusive status and accounting from the right file
Tape, inventory, balance sheet, income statement and fund quotas
Close, investor, auditor, portfolio sale and AI agent
What it solves
- Each contract's balance, status and provision at the closing date match the administrator and do not change after being reported.
- The fund's balance sheet, income statement and quotas come from the administrator's files, with no hand-built spreadsheet.
- The dataset to sell or assign the portfolio is ready, with personal data isolated.
Business questions it answers
Ask your agent these questions once the case is live.
What you need
- The contract or receivables source connected to Nekt: core, servicer or receivables system
- The fund administrator's files arriving by SFTP or shared folder
- The closing cutoff date and the status, provision and charge-off policy
What you get
- A tape per contract and closing date that only grows
- Trial balance, ledger, balance sheet, income statement and quotas by fund and date
- A month-over-month check that blocks a close outside the expected range
- An AI agent that answers about the portfolio with the right status and date
Where to activate
Monthly report on the portfolio and the fund's statements, read from the closed tables and delivered to a folder or by email with a Slack notice.
Answers balance, status, provision and quota by closing date, asking which company when the question does not say.
A month-over-month check per metric, with a failure that holds the close until someone reviews it.
Each source has its own format and history must be kept from the first close. The status and accounting rules are fixed. The detailed view has the business rules, the pitfalls and the acceptance test. Or send everything straight to your agent with the Nekt MCP.
The core shows the contract as it is today: the sold one disappears, the charged-off one shows a zero balance and the origination fee already appears in full as revenue. The administrator delivers trial balance, ledger and portfolio composition in files that repeat and change headers. Whoever builds the close from today's snapshot and adds up the files without deduplicating rewrites the past, counts entries twice and ends up with a quota that does not match the administrator's.
How it is usually done, and the rule
Each row is a mistake that already happened in practice.
Write one row per contract at each closing date, with balances, status, days past due, provision and deferred revenue. The table only grows: each run appends closing dates after the last one written and never rewrites a closed date. Reprocessing the current month is allowed until the close; after that, adjustments go into the next close.
Each contract has a single status on the date: sold or assigned (only from the sale date), in judicial recovery or bankruptcy, charged off, paid off and in portfolio. A contract disbursed after the cutoff stays out of that close. The status drives the balance: in portfolio carries the outstanding balance; charged off has a zero balance and the amount goes to cumulative charge-off; judicial recovery keeps the balance while the filing is pending and becomes a loss when it is approved or discharged; sold leaves the portfolio and the provision.
The core may zero out the charged-off amount after a renegotiation or a migration. On the tape, the contract's cumulative charge-off is the greater of what the core reports and the previous tape. Recoveries after the charge-off go into their own column, without reducing the charge-off.
When the core does not send a metric for a contract on a date (interest paid, fee, unpaid balance), use the last non-null value from a previous close and keep the date it came from. That way an incomplete file does not zero out the contract, and the number's origin stays traceable.
The fee charged at origination is recognized over the life of the contract. Deferred revenue = fee received minus the part already recognized, by proportion paid or by elapsed term, as the policy says. A sold or charged-off contract recognizes or reverses the deferred balance at the close of the event.
The inventory file carries, per instrument and reference date, nominal value, present value, acquisition value, PDD (loan-loss provision) bucket and amount, the date the fund acquired it and the adjusted due date. Use the ready values and the latest reference date for the position. Instruments in the write-off buckets stay out of the active inventory and go into losses.
The same system often holds the fund and other group companies, such as the securitizer, under a company code. Every answer states whether it refers to the fund, another vehicle or the consolidated view. An assignment between vehicles within scope does not change the asset balance; an assignment out of scope leaves the portfolio on the assignment date.
The balance sheet comes from the administrator's trial balance. The income statement comes from the accounting ledger, with effective entries only (types A and M); opening balance (I) and closing or total (F) lines do not enter. The ledger arrives in cumulative files that repeat the period: deduplicate on the entry hash, without the file name, keeping the most recent file. The last date of each month is the close; the current month is the current position.
Economic net assets are the accounting equity plus the result not yet incorporated, equal to assets minus liabilities. Senior and subordinated quotas come from the portfolio composition for the same date, or the last one before it within the same month, never a future date. The difference between net assets and the sum of the series sits on a visible unallocated adjustment line.
Compare each metric with the previous close and block the close when the change exceeds the limit: for example, 10% on contract count, 15% on principal balance, 20% on interest and deferred revenue, 25% on provision, 30% on charge-offs and 40% on recoveries. A first close and a metric with no history stay as a warning, not an approval.
How each contract enters the tape
Status on the closing date, in priority order.
Definitions
Pitfalls that already happened
Two administrator files with similar names (portfolio composition and asset composition) were read together and mixed quotas with instruments.
Filter files by an exact name pattern and fail when a valid file cannot be read.
Cumulative ledger reports repeated the whole period every day, and a hash that included the file name let the same entry through several times.
Hash the entry without the source file, keeping the most recent.
Days past due for some contracts were hard-coded in the query, by id, and nobody remembered why.
An exceptions table per contract, with reason, author and date.
After a renegotiation, the core zeroed the charged-off amount and last month's loss disappeared from the next close.
Cumulative charge-off as the greater of the current and previous values.
Tables promoted from staging to production under a different name left reports and the agent reading stale tables.
A stable output name, with the version in a column, not in the name.
The dataset for the portfolio buyer combined borrowers' contact, employment and bankruptcy status in the open layer.
Build the sale dataset in a restricted layer and deliver only the fields in the assignment agreement.
Acceptance test
The case is done when every item passes.
- For each closing date, the tape's principal balance matches the core or administrator report (difference below 0.5%).
- Each contract has exactly one status per closing date, and no sold contract shows a balance or provision from the sale date on.
- Running the pipeline again does not change any row of a closing date already written.
- Assets minus liabilities on the balance sheet equal economic net assets, and senior plus subordinated quotas plus unallocated adjustment equal net assets, by fund and date.
- No ledger entry appears twice in the income statement, and the income statement has no opening or closing balance lines.
Agent package
Paste into Claude, ChatGPT or any client with the Nekt MCP connected.
Fund portfolio - Tape: one row per contract and closing date in <table>. A closed closing date is never recalculated. Always filter the closing date. - Status by priority: sold or assigned (from the sale date), judicial recovery or bankruptcy, charged off, paid off, in portfolio. Disbursed after the cutoff date stays out of the close. - Balance: in portfolio = outstanding balance; charged off = 0 with cumulative charge-off; sold = out of the portfolio and the provision. - Cumulative charge-off = greater of the core value and the previous tape's. Recoveries in their own column. - Deferred origination revenue = fee received - part recognized up to the date. - Administrator inventory in <table>: use the ready nominal value, present value, bucket and PDD, from the latest reference date. Buckets <WOP/WOM> are write-off and stay out of the active inventory. - Company: <code 1> = fund, <code 2> = securitizer. If the question does not say which, ask whether they want them separate, one of them or consolidated. - Balance sheet from the trial balance; income statement from the ledger with entries A and M, without I and F. Last day of the month = close. - Economic net assets = assets - liabilities. Senior and subordinated quotas from the portfolio composition for the same date. - Never expose borrowers' personal data. The sale dataset lives in <restricted layer>. Client exceptions: - <client>: contracts sold before <date> have no sale date; treat them as sold from <date>. - <client>: different provision factor for employer or payroll agreement <group>.
Build the "Fund portfolio" case in my Nekt workspace following the rules at https://academy.nekt.com/en/industrias/financeiros/carteira-do-fundo.md. 1) Find the source tables and confirm the columns the rules use. 2) Create a transformation at the stated grain applying every rule. 3) Run the acceptance test and show me the result of each item. 4) Create the case's context document in the workspace, leaving my clients' exceptions open for me to fill in.
Variations
A dataset from the last close with the fields agreed with the buyer, built in a restricted layer and checked against the tape.
Inventory per instrument with assignor, debtor and collection label, exposure by assignor and the administrator's PDD.
Capital deployed per project, realized contributions minus buybacks, reconciled between the finance control sheet and the operational base.