Automating tax filing with AI: Claude Desktop meets Nutrient DWS Processor

Table of contents

    Automating tax filing with AI: Claude Desktop meets Nutrient DWS Processor

    Let’s be honest: Tax season isn’t fun. For me, it’s always been a slog of hunting down receipts, converting them to the right format, renaming files, extracting totals, and putting everything into some kind of spreadsheet that hopefully makes sense later. It’s tedious, error-prone, and honestly just not the best use of time.

    This year, I decided to do things a little differently, and it turned into a super satisfying use of AI!

    The goal: Do less, get more done

    Instead of spending hours organizing receipts manually, I wanted to offload the whole process to a large language model (LLM) — Claude in this case — connected to our new Nutrient DWS MCP Server, powered by the Nutrient DWS Processor API.

    Here’s what I needed the system to do:

    1. Convert all my receipts (PDFs, JPGs, PNGs, etc.) into PDF format.
    2. Standardize the filenames so I could actually find things later.
    3. Extract totals from each receipt and compile them into a CSV.
    4. Perform currency conversions where needed.
    5. Do all of the above without me writing a line of code.
    Ready to try document processing at scale?

    Get started with Nutrient DWS Processor API today and receive 200 free credits monthly! Perfect for watermark-free document processing targeting many use cases.

    Setting things up

    First, I set up Claude Desktop with Nutrient DWS MCP Server. You can do that for yourself using the npm package and instructions(opens in a new tab).

    I dropped my receipts into the Claude sandbox and gave a prompt like:

    “Please process all files in the sandbox folder. Convert them to PDF, rename them with the correct date and company name, and output them to a directory named normalized. Then extract the total amount from each, and create a CSV summary.”

    Behind the scenes, Claude used two key MCP integrations:

    This combination made it possible to orchestrate the entire workflow through natural language — no scripts, no APIs, just intent.

    What actually happened

    The process was iterative and surprisingly smooth. Claude:

    • Scanned the sandbox and cataloged files and directories.
    • Created a new folder (/normalized) for output.
    • Converted everything to PDF (handling images, old scans, and random formats).
    • Renamed files with the correct structure: YYYY-MM-DD_CompanyName_Receipt.pdf
    • Logged each processed file in a tracking script.
    • Extracted totals and wrote them into a CSV.

    Along the way, I hit a couple of minor snags:

    • Some receipts were labeled as “invoices” and got skipped initially.
    • A few dates were hallucinated or misread.
    • Company names were missing from some filenames.

    But the beauty of using Claude here is that I could just say:

    “Hey, some of the dates are off — go back and extract them from the files.”

    And it did.

    Same for the company names. I asked it to extract the vendor names from the content, and it renamed the files accordingly, even updating the CSV summary.

    The end result

    By the end of it, I had:

    • A /normalized folder with cleanly named, uniformly formatted PDF receipts.
    • A tidy CSV file with totals, dates, and company names.
    • A lot more time to do literally anything else.

    Here’s a quick look at the final structure:

    Terminal window
    sandbox/
    └── normalized/
    ├── 2024-02-15_CoffeeCo_Receipt.pdf
    ├── 2024-02-17_AirlineTicket_Receipt.pdf
    └── receipts_summary.csv

    Why this matters

    Could I have written a Python script to do all of this? Sure. Could I have asked Claude to generate code for me and run it manually? Also yes.

    But this experience was different.

    With DWS MCP Server and DWS Processor API handling all the actual document logic, and Claude interpreting my goals through plain language, I was able to:

    • Automate a complex, multistep task with no code.
    • Iterate and refine the workflow through conversation.
    • Trust that file conversions and data extraction were done reliably.

    It’s one of the first times I felt like a real document automation system was accessible without needing developer-level confidence.

    What else could you do?

    This kind of natural language-powered automation isn’t just useful for receipts. It could easily extend to:

    • Contract workflows — Batch sign, convert to PDF/A, or watermark documents.
    • Onboarding — Extract key fields from forms, rename, and categorize.
    • Finance — Compile invoice totals across months, normalize naming, and run audits.
    • Archiving — Convert files, redact sensitive information, and create summaries.

    If you’ve got documents, chances are there’s a promptable workflow waiting to be discovered.

    Try it yourself

    If you want to give this a try:

    1. Get an API key(opens in a new tab) for the Nutrient DWS Processor API.
    2. Install Claude Desktop and configure Nutrient DWS MCP Server(opens in a new tab)
    3. Drop your documents into the sandbox and start prompting.

    The setup is minimal, and the payoff can be massive.

    Do you have a similar use case, or are you thinking about automating your document stack? Let Claude and Nutrient do boring document stuff. And feel free to reach out to us to learn more.

    Nick Winder

    Nick Winder

    Core Engineer

    When Nick started tinkering with guitar effects pedals, he didn’t realize it’d take him all the way to a career in software. He has worked on products that communicate with space, blast Metallica to packed stadiums, and enable millions to use documents through Nutrient, but in his personal life, he enjoys the simplicity of running in the mountains.

    Explore related topics

    FREE TRIAL Ready to get started?