Investment operations, consideredA working proposal   /   September 2026

From scattered files
to a clearer picture.

Start with the problem

Less time bringing information together.
More confidence in the reports and answers that follow.

Prepared for Amrita   ·   By Eric WuFor discussion. To refine together.
01Our understandingTo validate with your team

The work between
the documents.

Each reporting cycle means bringing different sources into agreement. Our understanding is that the repeated work sits here.

01 /

Gather what arrived.
Find what didn't.

Statements, emails and updates arrive at different times. Someone needs to know what is still missing.

Completeness
02 /

Make the figures
mean the same thing.

Different accounts, periods, currencies and formats need to fit together without losing their meaning.

Consistency
03 /

Check, prepare.
Then check again.

Valuations, transactions and corrections need to agree before they become a client report.

Confidence
04 /

Find the answer.
Explain where it came from.

A client question can mean reopening several files and reconstructing the same facts.

Traceability

The question for today: where does your team spend the most time, and where does uncertainty cause the most trouble?

02The proposed approachCurrent direction, open to refinement

Bring it together.
Build trust into every step.

A background service would turn incoming documents into checked information, ready for the files and questions your team already works with.

Follow one statement through the proposed processSelect a step
01 / Collect

Start where the
information arrives.

Read from agreed shared folders and mailboxes, so routine documents would not need to be downloaded and uploaded again.

Keep missing documents and failed reads visible. A duplicate should not become a second investment.

One statement, followed throughIllustrative
Incoming document01
An account statement
arrives.
Received fromAgreed source
Document versionIdentified
Expected informationTracked
Ready to read

AI would help read and interpret. Defined calculations would produce the numbers.
Your team would resolve exceptions and authorize release.

03The implementation briefCandidate components, to evaluate

The thinking
behind the workflow.

I would start with a small service around your existing files, within an agreed data-processing boundary. These are the components I would evaluate and the checks I would put around them.

Connect to the sources.

Microsoft Graph

Read agreed OneDrive or SharePoint locations and relevant mailboxes. Track document versions, duplicate arrivals and failed reads before processing.

First confirm the actual Microsoft 365 setup, ownership and permitted access.

Read the document.

Native readers · Specialist OCR

Use spreadsheet data and usable PDF text directly. Compare Mistral OCR, Azure Document Intelligence, Reducto and PaddleOCR for scans and complex tables, with other readers available for comparison.

Choose by correct financial fields, complete tables and review effort. Open source is optional; the processing location needs agreement.

Interpret with evidence.

Private Qwen model · Extraction services

Compare a privately hosted language model with an approved extraction service for fields such as account, period, currency and value. Keep the source evidence attached and missing information explicit.

The exact model, license, hardware and approved processing location still need evaluation.

Keep records and checks explicit.

Python / FastAPI · PostgreSQL

Separate extracted proposals from approved records. Use coded rules for calculations and reconciliation, and keep effective dates, source versions and review history.

Agree identities, financial definitions, source precedence and correction rules with the report owner.

Coordinate the work.

Rules · Jev candidate · Controlled jobs

Test TypeSafe AI’s Jev for narrow choices after reading, such as document type, a candidate match or the next permitted route. Use ordinary jobs or LangGraph to execute the workflow; code retains calculations and approval gates.

Jev is not an OCR engine or a free-form extractor. Its published input price is $0.042 per million tokens, with output free. Compare it with rules and the interpretation model before adoption.

How questions would work

Numbers and documents
need different checks.

Numerical questions

Calculate over approved records.

Resolve the metric, date, currency and eligible population. The model would request an approved query; code would calculate the result and account for missing records.

Document questions

Retrieve the supporting evidence.

Search permitted source documents for terms and explanations. Start with metadata and full-text search, then add semantic retrieval if evaluation shows a need. Preserve versions and citations.

Before relying on it

What I would prove first.

  1. Establish a reference. Observe one reporting cycle and collect authorized documents, approved calculations and a report the team trusts.
  2. Test reading and decisions. Compare OCR on exact fields, complete tables and correction time. Separately compare rules, Jev and the interpretation model on routing errors, abstention and cost.
  3. Reproduce a complete result. Follow a statement into a checked record, an agreed report draft and an answer that matches the same reporting snapshot.
  4. Exercise the difficult cases. Replay duplicates, corrections, missing pages and interrupted work. Compare staff effort and total operating cost against the current process.

Start with the baseline. Consider fine-tuning only if repeated interpretation errors justify it. Scope, success thresholds, support ownership and any rollout decision would be agreed with your team.

04Estimated running costsUSD · Checked 17 Sep 2026

What it would cost
to keep it running.

Software, infrastructure and usage for a team of about 20. An itemised planning estimate, excluding implementation and support labour.

What we know. The brief describes 30+ funds and about 30 subscriptions a month. The nine sample statements contain 13 pages.

What we still need. Monthly page volume, account count, historical backlog and existing licences. The workload below is an assumption, not a measured inventory.

Set the workload.

Whole numbers from 0 to 10,000. Includes 20% repeat processing; server capacity still needs testing.

Monthly budget, with reserveUS$200

How the workload and AI usage are estimated

The base assumes 35 funds × 4 updates, 30 subscription notes, 50 account statements and 30 other documents: 250 documents × 4 pages = 1,000 pages/month. Only the 30+ fund count and approximate 30 subscriptions come from the brief. The other values are assumptions.

Each page allows 6,000 input and 1,000 output tokens. Each question allows 8,000 input and 1,200 output tokens across its model calls. Add 20% for repeat processing. Budget OCR for every page and a second specialist pass for 10%; native reading may reduce the bill.

Light uses 300 pages and 300 questions; busy uses 5,000 pages and 3,000 questions. Storage assumes up to 100 GiB retained and transfer inside included allowances. These cases estimate spending, not proven capacity.

Where the money goes.

Monthly USD · Expand for options
Application & workersDigitalOcean · 2 vCPU / 4 GiB$24

My starting choice is one $24/month server for the app, scheduled jobs and report generation. It keeps the small service in one place. Capacity still needs testing.

DigitalOcean 8 GiB
$48 / monthMore memory if profiling shows a need.
AWS Lightsail 4 GB
$24 / monthComparable Linux bundle; keep the database and storage nearby.

DigitalOcean pricing, opens a new tab · AWS Lightsail, opens a new tab

Records & database recoveryManaged PostgreSQL · primary + standby$60.90

Two 2 GiB nodes at the current $30.45 listing. A standby protects the operational record against a node failure; it does not make the whole application highly available.

Single PostgreSQL node
$30.45 / monthRemoves the standby.
Supabase Pro
From $25 / monthOne Micro instance and seven-day daily backups. PITR is extra.
Self-hosted PostgreSQL
$0 licenceYou own database backup and administration; compute still costs money.

Database rates, opens a new tab · Standby configuration, opens a new tab · Supabase, opens a new tab

Source files, reports & audit exportsPrivate object storage · 100 GiB assumption$5

DigitalOcean Spaces includes 250 GiB storage and 1 TiB outbound transfer for $5/month. The estimate allows 100 GiB for originals, derivatives, versions and logical backups. Storage grows with retention.

Cloudflare R2
About $1.35 / month100 GB Standard storage after the free allowance; operations extra. Different vendor and residency controls.

Spaces overages are $0.02/GiB stored and $0.01/GiB transferred. Spaces, opens a new tab · R2, opens a new tab

Application backupDaily server backup · 30% of hosting$7.20

Daily backup of the $24 application server costs $7.20/month. Database recovery is counted in the database line; longer-lived database exports use the storage allowance. Restoration must be tested.

Weekly server backup
$4.80 / monthA wider gap between recovery points.
Independent or cross-region backup
Needs sizingExtra storage and transfer, based on retention and recovery requirements.

Backup rates, opens a new tab

Test environmentSeparate 2 GiB server · synthetic fixtures$12

A $12/month test server keeps releases away from production. It runs a local test database using synthetic or redacted fixtures.

Disposable test server
Billed while allocatedDestroy between runs to reduce usage.
Managed test database
Add from $15.15 / monthCloser to production; a separate database bill.

DigitalOcean pricing, opens a new tab

Document reading & fallbackMistral OCR · 10% specialist fallback$9.60

1,200 processed pages × $0.004, plus 120 fallback pages × $0.040. In the API configuration, Mistral OCR 4.1 reads the pages; the budget sends an assumed 10% to Reducto Deep Extract as well. Both charges include 20% repeat processing.

Mistral annotated pages
$5 / 1,000 pagesRequested fields; test schema and evidence support.
Reducto Extract
$20 / 1,000 pagesParsing included. Deep Extract is $40 / 1,000.
Native readers or PaddleOCR
Existing compute or GPUMay avoid API charges; evaluate table fidelity and compute needs.

Reducto zero-retention and private deployment require separate quotes. Mistral rates, opens a new tab · Reducto rates, opens a new tab

Interpretation & questionsQwen3.7-Plus API · usage based$10.94

16.8 million input and 2.64 million output tokens. The API option is budgeted at $0.40/million input and $1.60/million output for qwen3.7-plus-2026-05-26, Singapore endpoint, International scope, requests up to 256K input tokens. International scope does not guarantee Singapore-only processing.

Qwen-Plus, non-thinking
$9.89 at base usage$0.40 / million input and $1.20 / million output tokens. Test quality against the recommended model.
Private GPU
Select aboveReplaces hosted reading and interpretation; model fit and region need testing.

Model rates, opens a new tab · GPU rates, opens a new tab

Microsoft Graph & employee accessReuse suitable Microsoft 365 licences$0 extra

Standard Graph file and mail operations have no extra API fee within licensed usage limits. Their execution is covered by the application server. Confirm the tenant, mailboxes and app permissions.

Company-owned intake folder
$0 connector licenceA simpler intake route. Power Automate remains optional.
20 new Premium seats, no Teams
$375.80 / monthUS annual price. Includes Entra P1; existing seats may already qualify.
Standalone Entra P1 for 20
$140 / monthOnly if needed and not already included. Local terms may differ.

The budget excludes new seats and metered advanced/bulk APIs. Graph fee rules, opens a new tab · Metered APIs, opens a new tab · Microsoft licences, opens a new tab

Monitoring & error alertsSentry Team · annual plan equivalent$26

$26/month, billed as $312/year at the displayed annual rate, within included quotas. Keep document contents out of diagnostic events. Basic server monitoring is included by the cloud provider.

Sentry Developer
$0 for one operatorLower quotas and no shared support team.
Self-hosted logs
Existing compute + storageAvoid another processor; retain operating responsibility.

Sentry pricing, opens a new tab · Server monitoring, opens a new tab

Domain, DNS & TLSDomain renewal · planning allowance$2

A $24/year domain allowance, spread over 12 months. This is an estimate, not a registrar quote. Included DNS and automated TLS avoid a separate certificate subscription.

Existing company subdomain
$0 new registrationReuse company DNS. Premium names or paid edge security need separate pricing.
Workflow, search & routingApplication jobs · PostgreSQL search$0 extra

Use rules, scheduled workers and database search on the servers already counted. No separate workflow, queue or vector-database subscription is needed for the baseline.

LangGraph library
$0 licenceSelf-hosted open-source library; its hosted platform is separate.
Jev narrow decisions
$2.10 / 50M input tokensOutput free. Optional; does not replace general interpretation.
Embeddings or vector service
Size after evaluationAdd only if metadata and full-text search prove insufficient.

LangGraph, opens a new tab · Jev pricing, opens a new tab

Reports, spreadsheets & teaser packsTemplate generation · existing Office access$0 extra

Use open-source template and PDF-merge libraries on the application server. Existing Office licences cover staff editing. This includes the proposed report drafts and teaser assembly, not autonomous external sending.

Commercial SDK or rendering API
Quote after template testConsider for exact Excel calculation or difficult document layouts.
Build tools, secrets & network controlsIncluded quotas · existing infrastructure$0 extra

Use included private-repository/build quotas, a cloud firewall and controlled runtime secrets. No paid developer subscription is assigned to every employee.

Paid build tools or access services
Based on required controlsExtra repository seats, CI usage, secret vaults or private gateways. Use existing entitlements first.

Build quotas, opens a new tab · Cloud firewall, opens a new tab

Included items use infrastructure or licences already counted. A $0 extra line does not mean the work runs without resources. Prices are a dated snapshot, not a live feed.

Before the first reporting cycle

Allow for the history.
Check the extras.

Recurring software is only part of the bill. Keep these separate when comparing with the existing SaaS contract.

Unknown backlog. 10,000 pages is a planning assumption.

One-time import, with 25% reserve
$180
Evaluation usage allowance
$150
First-year planning total
$2,730

12 monthly budgets + import + evaluation. Excludes the conditional items below and all labour.

Existing licences or new seats?

Reuse existing Microsoft 365 first. If all 20 need new Business Premium licences without Teams, the cited US annual price adds $375.80/month. Entra P1 alone adds $140/month for 20 if needed; Premium already includes it. Local prices and renewal terms may differ. Copilot is not required.

These are separate from the headline budget. Confirm the tenant inventory before adding either amount.

Microsoft pricing, opens a new tab
Private AI and availability

The selectable private example replaces both OCR and model APIs with one L40s GPU at $1.57/hour × 730 hours = $1,146.10/month, plus a $5 model-storage allowance. No checkpoint or throughput has been validated. The cited provider’s GPU regions are in North America, so Asian processing needs another quote.

A 20 GB RTX 4000 is $0.76/hour, or $554.80/month, but may not fit the final model. Scheduling an L40s for 80 hours is $125.60 compute, with answers unavailable outside those windows. Powered-off instances still bill.

For application resilience, a second app server, daily backup and load balancer add $43.20/month before reserve. The database standby is already counted. GPU & availability sources: GPU pricing, opens a new tab · Load balancers, opens a new tab

Data feeds, support and contract costs

Benchmark, FX and investment data. Use company-provided licensed inputs where permitted. New feeds and redistribution rights need a provider quote; they are not included or assumed free.

Provider support. Included ticket support is budgeted. DigitalOcean Standard production support adds $99/month. It does not maintain this application. Support plans, opens a new tab

SaaS exit and policy requirements. Export fees, contract overlap, long-term or immutable backup, private networking, enterprise AI terms and commercial report SDKs remain unpriced until requirements and contracts are checked. The 25% reserve does not cover unknown mandatory services.

Taxes, exchange fees, hardware purchases and all implementation, maintenance and review labour are outside these figures. This is not a like-for-like SaaS savings claim.

Choose after one measured reporting cycle: actual pages, token use, correction effort, peak load and recovery checks. The recommendation and budget remain open for company approval.

05What this could change

Keep the familiar.
Improve what sits behind it.

The aim is to make the information dependable and reusable, while preserving the formats your team needs.

01

Reports your team recognizes.

Prepare the agreed client reports and working files from checked records, with estimates and missing inputs made clear.

02

Answers you can trace.

Look up fund and client information, with an optional question interface. Answers would use the same records and show their evidence and gaps.

03

Fund materials, ready to assemble.

Find the right versions and combine selected fund teasers into a pack. Your team would choose the contents and authorize distribution.

The principle

One agreed basis for the report,
the answer, and the explanation.

06Trust and responsibility

Your team stays
in control.

01

Evidence stays attached.

A figure should lead back to its source, with corrections and previous versions kept explainable.

02

Uncertainty stays visible.

Missing information and conflicting values should be flagged for resolution before they are treated as approved.

03

Access follows your rules.

Private processing is the current direction. Where data may be used, who can see it and how long it is kept still need your approval.

04

People own the decisions.

The proposal supports operational records and reporting. Your team retains judgment, approvals and external release.

07Our conversation

Let's start with
one real reporting cycle.

A recent report, the documents behind it, and the person who prepared it.

That would let us test this understanding against your actual work and choose a useful place to begin.

01Where does the work get stuck?

Show us the last difficult reporting cycle. What took the most staff time, what caused delays, and which tools already helped?

02What makes a report ready?

Compare the month-start and month-end reports. Which sources and calculations govern each, what happens when information is late, and who approves release?

03What needs to stay familiar?

Show us the workbooks and document formats the team relies on. Who edits them, and when should a change become an official record?

04What would earn your trust?

Agree a representative report, its source records and a person to judge the result. Define acceptable checking effort, errors and operating responsibilities before setting targets.

A proposed first test

Follow one statement into a checked record, a familiar report draft and an answer that agrees with it. Compare the result with your existing process.

Prices checked 17 Sep 2026 · USD

OCR options & pricing.

Compare price alongside financial accuracy, complete tables and review effort.

Text and tables. Mapping them to financial fields may cost extra.

1 to 1,000,000 pages. Usage before credits and other costs.

1,000 pages / month
Reader & configurationPer 1,000 pagesUsage estimate
Mistral OCR 4.1 pricing and documentation, opens a new tab OCR text, layout and tables.Published OCR 4.1 rates.$4$4
Azure Document Intelligence pricing and documentation, opens a new tab Layout / prebuilt tier.East US S0. Add-ons and training extra.$10$10
Reducto pricing and documentation, opens a new tab r-1 Parse.Standard pay-as-you-go.$10$10
PaddleOCR pricing and documentation, opens a new tab VL-1.6 or PP-StructureV3, self-hosted.Compute, serving and maintenance need sizing.Hosting + operationsNeeds sizing
Google Document AI pricing and documentation, opens a new tab Layout Parser.First one million pages/month; processor availability varies.$10$10
AWS Textract pricing and documentation, opens a new tab Tables, including Layout.US West, Oregon. First one million pages/month.$15$15
Extend pricing and documentation, opens a new tab Light $6.25; Performance $25.Usage at $0.0125 per credit.$6.25 to $25$6.25 to $25
LlamaParse / LlamaExtract pricing and documentation, opens a new tab Cost Effective $3.75; Agentic $12.50; Plus $56.25.Usage equivalent. Paid plans start at $50/month; see conditions below.$3.75 to $56.25$3.75 to $56.25

Usage estimates are not quotes or complete monthly bills. Products return different kinds of structure; a forms parser is not the same as a custom financial extractor. No company-document evaluation has been run.

What the prices include

Each selected mode is priced on its own. Where extraction includes parsing, no separate reading fee is added. Ranges reflect different service tiers.

Taxes, storage, retries, review, downstream models and self-hosted operation are excluded. No trial credits, negotiated discounts or assumed batch discounts are applied. Azure add-ons and training are extra. AWS and Google rates shown use the first one million pages per month.

LlamaIndex figures convert credits at $1.25 per 1,000 credits. Paid Starter is $50/month including 40,000 credits, with plan limits; it is not an extra $50 on top of all usage. Extraction assumes no more than 250 leaf fields and includes its default parsing tier. Larger schemas change the rate.

Azure's displayed website rates depend on region. The figures here were checked against Microsoft's public retail data for East US S0. Check current vendor terms before buying.

What the benchmarks tell us

OmniDocBench v1.6 reports table-similarity scores of 96.82 for TeleOCR, 94.76 for PaddleOCR-VL-1.6, 93.42 for MinerU 2.5-Pro and 92.83 for GLM-OCR. These are table TEDS scores, not percentages of correct financial fields. They do not rank current commercial services on Amrita's statements.

LongExtractionBench reports Reducto Deep Extract completing 225 of 225 long documents, with 99.6% array recall and 99.3% leaf accuracy. Reducto commissioned the work and designed its methodology; micro1 sourced and reviewed the data. Quality is measured on completed documents. This result belongs to Deep Extract, not the $10 Parse tier.

Our test should count wrong amounts, missing rows, incorrect account/period associations, false acceptance and staff corrections. The lowest API price may not give the lowest cost per accepted document.

Other readers & where Jev fits

Docling is a conversion and representation option. TeleOCR, MinerU 2.5-Pro and GLM-OCR are further model candidates. PaddleOCR also offers PP-StructureV3 for structured parsing and PP-OCRv6 for text recognition. No comparable hosted rate is assumed for these; verify checkpoint, license, hardware and evidence locations.

Jev can choose a document category, candidate match or permitted route after OCR. It accepts text/JSON and makes constrained decisions; it cannot read page images or generate arbitrary financial fields. Rules and workflow code retain permissions, calculations and approval.

Its published early-access price is $0.042 per million input tokens, with output free. For illustration, 10,000 decisions at 5,000 input tokens cost $2.10 for Jev alone. Company processing permission, retention terms and measured reliability remain open.