Skip to content

Drive Expense Processor

FieldValue
Namedrive-expense-processor
Categoryautomation
Complexitymoderate
Tagsgoogle-drive, llm-extraction, expense-management, google-sheets, postgres-state, s3-storage
Authorrandybias
Min Version0.1.0

Watch a Google Drive folder for receipt uploads, extract expense data with AI, and log structured records to Postgres and Google Sheets. Polls Drive on a schedule, stores originals in S3, uses Claude to extract fields from receipts, validates the extracted data, and writes results to both a database and a spreadsheet.

poll-drive → store-originals → extract-fields → validate-record → store-and-notify
NodePurpose
poll-drivePoll Google Drive folder for new receipt uploads
store-originalsStore original receipt files in S3
extract-fieldsAI-powered extraction of expense fields from receipts
validate-recordValidate extracted data against allowed categories
store-and-notifyWrite to Postgres and Google Sheets, notify via Slack
  • manual
  • cron — every 15 minutes (*/15 * * * *)
ServiceTypeRequired
Google Drive APIExternalYes
Google Sheets APIExternalYes
Anthropic APIExternalYes
Slack webhookExternalYes
tentacular-postgresExoskeletonYes
tentacular-rustfsExoskeletonYes
KeyDefaultDescription
timeout120sPer-node timeout
retries1Retry count per node
drive_folder_idYOUR_FOLDER_IDGoogle Drive folder to watch
sheets_idYOUR_SHEETS_IDGoogle Sheets spreadsheet ID for logging
allowed_categoriesTravel, Meals, Software, Office, Equipment, OtherValid expense categories
  • google.access_token — Google API access token for Drive and Sheets
  • anthropic.api_key — Claude API key for field extraction
  • slack.webhook_url — Slack webhook for notifications
Terminal window
tntc scaffold init drive-expense-processor
tntc scaffold init drive-expense-processor my-custom-name
tntc scaffold info drive-expense-processor

Scaffold source: quickstarts/drive-expense-processor/