receipt-snap

Process receipt photos and PDFs, extract vendor date amount currency, convert to EUR, upload to Google Drive with proper naming Vendor_Date_EURAmount.pdf, and log to a Google Sheet. Use when user sends a receipt with #recibo or processes expense receipts for tax reporting. Handles: PDF invoices, photo screenshots, USD to EUR conversion, Spanish expense categories, quarterly reporting for tax purposes.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "receipt-snap" with this command: npx skills add marinhobot/receipt-snap-spain

Receipt Snap Skill

Process receipts for tax reporting. Handles receipt capture, currency conversion, Drive storage, and logging to Google Sheets.

Setup

1. Install gog CLI

brew install faradayhq/gog/gog
gog auth login

2. Set environment variables

VariableRequiredDescription
RECEIPT_DRIVE_FOLDER_IDYesGoogle Drive folder ID for uploads
RECEIPT_GOOGLE_SHEET_IDYesGoogle Sheet ID for log rows
RECEIPT_LOG_FILENoLocal CSV backup path (default: ~/receipts/log.csv)

3. Google Drive & Sheets setup

Drive: Create a folder, share it with the Google account authenticated in gog, copy the folder ID from the URL.

Sheets: Create a sheet with a tab named log, add headers in row 1: Date | Vendor | Description | Original Amount | Currency | EUR Amount | Exchange Rate | Category | Drive Link | Notes. Copy the Sheet ID from the URL.

Model Usage

Use local model (free) for simple receipts. Escalate to MiniMax for ambiguous receipts (handwritten, poor lighting).

Workflow

1. Receive Receipt

User sends receipt via Telegram with #recibo tag. Accepts:

  • PDF invoices
  • Photo screenshots of receipts
  • Text descriptions (#recibo Description: ...)

2. Extract Data

Extract from receipt:

  • Vendor (company name)
  • Date (invoice date)
  • Amount (total including VAT)
  • Currency (EUR, USD, etc.)
  • Description (what was purchased)

3. Check for Duplicates

Before processing, check if this receipt already exists:

gog sheets get "$RECEIPT_GOOGLE_SHEET_ID" "log!A:J" --json

Search for matching vendor + date + amount. If duplicate found → warn user and ask before proceeding.

4. Currency Conversion

If non-EUR:

  • Fetch rate from https://open.er-api.com/v6/latest/{currency}
  • Convert to EUR
  • Log both original and EUR amounts

5. Categorize

Spanish tax categories:

  • Software y suscripciones — SaaS, API credits, subscriptions
  • Telecomunicaciones — phone, voicemail
  • Combustibles — fuel, gas
  • Viajes y desplazamientos — travel, mileage
  • Manutención y restauración — meals (business)
  • Material informáticos — hardware
  • Formación — courses, education
  • Otros gastos — other

6. Upload to Google Drive

gog drive upload <file> --parent "$RECEIPT_DRIVE_FOLDER_ID"
gog drive rename <file-id> "VendorName_2026-01-15_42.50EUR.pdf"

7. Log to Google Sheet

gog sheets append "$RECEIPT_GOOGLE_SHEET_ID" "log!A:J" \
  --values-json '[["2026-01-15","Vendor Name","Description","42.50","EUR","42.50","1.0","Software y suscripciones","https://drive.google.com/...","Notes"]]' \
  --insert INSERT_ROWS

8. Quarterly Report

At quarter-end:

  • Generate category summary: python3 receipt_snap.py summary
  • Zip receipt images from Drive
  • Send summary + ZIP to your tax accountant

Commands

Process receipt

python3 receipt_snap.py process receipt.pdf \
  --vendor "Vendor Name" \
  --date 2026-01-15 \
  --amount 42.50 \
  --currency EUR \
  --category "Software y suscripciones"

Summary

python3 receipt_snap.py summary

Exchange rate

python3 receipt_snap.py exchange-rate

Sheet Setup

Create a Google Sheet with a tab named log. Add this header row (A through J):

| Date | Vendor | Description | Original Amount | Currency | EUR Amount | Exchange Rate | Category | Drive Link | Notes |

Security

  • Add receipts/ and *.csv to .gitignore — contains real financial data
  • Never hardcode IDs in source files — use environment variables
  • gog manages OAuth tokens locally — verify your Google account is secure
  • Files uploaded to Drive and rows appended to Sheets leave copies on Google services

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

通义晓蜜 - 智能外呼

触发阿里云晓蜜外呼机器人任务,自动批量拨打电话。适用于批量外呼、客户回访、满意度调查、简历筛查约面试等场景。可从前置工具或节点获取外呼名单。

Registry SourceRecently Updated
General

Letterboxd Watchlist

Scrape a public Letterboxd user's watchlist into a CSV/JSONL list of titles and film URLs without logging in. Use when a user asks to export, scrape, or mirror a Letterboxd watchlist, or to build watch-next queues.

Registry SourceRecently Updated
General

Seedance Video Generation

Generate AI videos using ByteDance Seedance. Use when the user wants to: (1) generate videos from text prompts, (2) generate videos from images (first frame, first+last frame, reference images), or (3) query/manage video generation tasks. Supports Seedance 1.5 Pro (with audio), 1.0 Pro, 1.0 Pro Fast, and 1.0 Lite models.

Registry SourceRecently Updated
4.2K17jackycser
General

Universal Skills Manager

The master coordinator for AI skills. Discovers skills from multiple sources (SkillsMP.com, SkillHub, and ClawHub), manages installation, and synchronization...

Registry SourceRecently Updated