contract-extractor.

Extract billing fields from plain-text contracts. Product, payment schedule, price, term, renewal. Deterministic rules. No ML. No data leaves your machine.

Live - EUR49 one-time
Buy now - EUR49

The problem

Contracts are unstructured and billing data lives in different places.

Sales teams write bespoke terms. Finance teams manually copy fields into spreadsheets or billing systems. Every contract is a new puzzle of "where did they put the price?"

Manual extraction is slow and error-prone.

A single contract can take 10-15 minutes to process by hand. Multiply that by dozens of contracts per month and you have a full-time job of data entry.

What it does

Feed it a plain-text contract. Get back structured billing fields:

product

Product or plan name extracted from the contract.

payment_schedule

Monthly, quarterly, or annual billing frequency.

price + currency

Price amount and currency (USD or EUR).

term_months

Contract duration in months.

start_date

Contract effective date (YYYY-MM-DD).

renewal

Automatic or manual renewal terms.

How it works

$ echo '{"text":"Product: Pro Plan. Payment: Monthly. Price: $29/month. Term: 12 months starting 2026-01-01. Renewal: automatic."}' | python extract.py
{"product": "Pro Plan", "payment_schedule": "monthly", "price": 29.0, "currency": "usd", "term_months": 12, "start_date": "2026-01-01", "renewal": "automatic"}

Deterministic regex rules. No model, no API call, no data leaves your machine. Same input to same output, every time.

Why deterministic

An LLM extracting billing fields is a black box you cannot audit.

When an extractor says "the price is $29", you need to know why. A rule you can read is a rule you can trust, debug, and improve.

Buy

EUR49 one-time. Runs locally. No subscription, no cloud, no data collection.

Buy now - EUR49