Debit sign
Model input
Statement row: 2026-10-02, Rent, Debit $1,200.
Extract statement transactions and balances while preserving sign and dates.
Step 01
Upload sample data, define your output schema, and provide feedback on the hardest cases.
Signed transaction amount: debits are negative, credits are positive.
The date the transaction posted, distinct from its purchase date. Use YYYY-MM-DD; not provided if unknown.
Direction of money movement.
Balance at the beginning of the statement period.
Balance at the end of the statement period.
Extract statement transactions and balances while preserving sign and dates.
Statement row: 2026-10-02, Rent, Debit $1,200.
Sutro can now generalize the rules based on your feedback.
Step 02
Compare quality and cost on your examples, then choose a model or use Sutro’s default.
Compare models on expert agreement and cost. The interactive chart uses illustrative measurements.
Illustrative sweep · select Value or Best to use that model in your function.
Step 03
Call Sutro Functions like any other software. Swap the model as soon as something more performant is released.
import sutro as so
input_data = {
"text": "Statement row: 2026-10-02, Rent, Debit $1,200."
}
result = so.run_function(
"bank-statement-extraction",
input_data,
)curl --fail-with-body -X POST "${SUTRO_API_URL%/}/v1/functions/bank-statement-extraction/run" \
-H "Authorization: Key $SUTRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"text": "Statement row: 2026-10-02, Rent, Debit $1,200."
}
}'import sutro as so
job_id = so.batch_run_function(
name="bank-statement-extraction",
data="bank_statement_extraction.csv",
)
results = so.await_job_completion(job_id)curl --fail-with-body -X POST "${SUTRO_API_URL%/}/v1/batch-inference" \
-H "Authorization: Key $SUTRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bank-statement-extraction",
"inputs": [
{
"text": "Statement row: 2026-10-02, Rent, Debit $1,200."
}
]
}'