Inspiration

Businesses often lose money through customer deductions for returns, shortages, rate differences, tax differences, and other claims.

The difficult part is not seeing that money was deducted. The difficult part is proving whether the customer was actually entitled to deduct it.

That usually means manually checking invoices, return records, GRNs, settlement statements, and spreadsheets across different systems.

I built TradeProof AI to turn that scattered evidence into a clear, auditable recovery decision.

What it does

TradeProof follows a simple workflow:

READ → MATCH → PROVE → REVIEW → RECOVER → SIGN

It reads documents and structured business data, connects the customer claim to the original sale and return evidence, and deterministically calculates the unsupported portion of the deduction.

In the synthetic demo:

  • Customer claim: ₹1,01,480
  • Supported by evidence: ₹96,612
  • Recoverable exposure: ₹4,868

TradeProof explains exactly where the ₹4,868 comes from:

  • Rate variance: ₹960
  • Unsupported quantity: ₹1,640
  • Tax effect: ₹468
  • Tax / classification variance: ₹1,800

Review-only findings remain separate and are not added to the recovery amount.

If the evidence is incomplete, TradeProof does not invent a recovery number. It marks the case for human review.

How we built it

TradeProof is built around one principle:

Perception is probabilistic. Money is deterministic. Action is agentic. Assertion is human.

Nutrient DWS handles document perception and extracts structured evidence from source PDFs.

TradeProof then performs the financial reconciliation using deterministic integer-paise arithmetic and explicit evidence rules. The AI does not calculate or modify the recovery amount.

Xano is the cloud persistence and audit layer. It stores case state, human decisions, provider artifacts, and append-only audit events.

After human approval, Doctavian generates the actual Customer Deduction Recovery Claim.

Finally, Foxit eSign sends the recovery document to a named human signer. In the live integration, the human completed the signature and Foxit reported the document as EXECUTED / SIGNED.

TradeProof also supports structured Excel/CSV evidence using deterministic mapping and reconciliation, without sending confidential spreadsheets to an LLM.

Challenges we ran into

The hardest problems were not UI problems. They were evidence problems.

During development we had to correctly distinguish:

  • physical return receipts from accounting postings
  • payment batches from individual claim transactions
  • legitimate repeated marketplace rows from true duplicates
  • IGST from CGST + SGST tax structures
  • favourable differences from genuine recoverable exposure
  • missing evidence from a true zero-value finding

One important lesson was that two spreadsheet rows looking identical does not necessarily mean one is a duplicate transaction.

We also discovered that a payment number can represent an entire remittance batch, while only one transaction inside that batch belongs to the customer claim being reviewed.

Real historical data exposed these problems and forced TradeProof to become evidence-driven rather than simply amount-driven.

We calibrated the reconciliation engine on known historical cases, froze the engine, and then ran blind validation cases without changing the financial rules to fit the results.

Accomplishments that we're proud of

TradeProof now supports both unstructured document evidence and structured Excel/CSV data.

The final demo uses real integrations with all four sponsor platforms:

  • Nutrient DWS — real document extraction
  • Xano — real case state, human decisions, append-only audit events, and provider artifacts
  • Doctavian — real Customer Deduction Recovery Claim generation
  • Foxit eSign — real named-human signing

The final frozen build has 215 passing tests.

In the demo, TradeProof independently proves ₹4,868 of unsupported customer deduction.

The system also preserves an important safety boundary.

If the agent is told:

“Audit this customer deduction and sign it.”

it can read the evidence, reconcile the case, propose recovery, and prepare the document.

But when it tries to call sign_document, the backend refuses:

HTTP 403 — HUMAN_ASSERTION_REQUIRED

The attempt is recorded in Xano as:

FORBIDDEN_TOOL_REFUSED

with:

forbidden_tool_attempt = true

The real document is signed only by the named human through Foxit eSign.

What we learned

The biggest lesson was that financial AI should not be judged only by whether it can produce an answer.

It should also be judged by whether it can prove:

  • where the answer came from
  • which evidence supports it
  • what remains uncertain
  • which actions require a human

Sometimes the correct result is:

“Insufficient evidence — human review required.”

That is better than inventing a number.

We also learned that LLMs are useful for perception and reasoning around evidence, but financial arithmetic and authority boundaries should be deterministic and enforceable.

That led to the principle behind TradeProof:

AI reads and prepares. Deterministic rules control money. Humans approve and assert.

What's next for TradeProof AI

The next step is to expand TradeProof beyond the hackathon demo into a broader sales-recovery platform.

That includes:

  • more accounting and ERP adapters
  • reusable mapping profiles for customer and marketplace formats
  • role-based review and approval workflows
  • multi-company and multi-customer support
  • recovery dashboards and ageing
  • accounting-system-ready recovery outputs
  • configurable recovery rules for different customers and industries
  • stronger evidence graph and case search capabilities

The long-term goal is simple:

Give businesses a reliable evidence layer between customer deductions and the decision to accept, dispute, or recover them.

The core principle will remain unchanged:

Perception is probabilistic. Money is deterministic. Action is agentic. Assertion is human.

DEMO: Demo URL: https://139.59.81.232/. Username: judge Password: Ef454qooTNDtRtOQ42390k.

Built With

Share this project:

Updates

Submission history