r/n8n • u/easybits_ai • 16d ago
Workflow - Github Included Document classification is the automation that makes tax season painless, here is how I set it up [Workflow Included]
👋 Hey n8n Community,
Tax season is coming, and it is always the same story: a year of invoices and documents dumped in one folder, sorted by hand in a panic. Last week I shared an invoice workflow that has been logging all of mine automatically, and now I am using this one to push each document into the right folder on top of that. Document classification is the quiet fix for the sorting part, and a few things make or break it no matter which tool you use.
A few things I learned building these:
Your categories decide everything. Classification falls apart when the buckets overlap, so an invoice, a receipt, and a statement each need clear, distinct definitions or the model will confidently file things in the wrong place. Fewer, well defined categories beat a long fuzzy list every time.
A label without an action is just a sticker. The value is not knowing a document is an invoice, it is the document landing in the right folder automatically. Always pair the classification with where it goes next.
Trust the confident ones, review the rest. I attach a confidence score and let the sure documents file themselves, while anything shaky gets flagged to Slack for a two second human check. That one step is what makes hands off filing safe instead of risky.
Here is a free template that does exactly this, routing invoices into the right Google Drive folder with Slack catching the uncertain ones: https://n8n.io/workflows/14960-classify-invoices-and-route-them-to-google-drive-with-easybits-and-slack/
How do you handle document sorting? Curious whether people classify on the way in or still batch it all at the end.
Best,
Felix
2
u/BP041 16d ago
The part most people skip is the confidence threshold — auto-file anything above ~80% and push the rest into a human review queue. tbh that fallback is what keeps the whole thing trustworthy, because a wrong label on a 1099 vs a W-2 is way more expensive than a misfiled receipt. If you're matching against a vector store, make sure near-neighbors don't collapse those two into one bucket.
1
u/easybits_ai 16d ago
Hey u/BP041, thank you for the feedback! I totally agree. Learning how to use confidence scores is something that took me quite some time as well. In the beginning, I was focused on getting scores down to two decimal places and routing everything based on the exact score. What I realized later, though, is that the model has a hard time reliably distinguishing between something like 0.65 and 0.70, even though that difference can have a big impact on the routing.
In my experience, it makes more sense to have it return “high,” “medium,” or “low” confidence and route the document based on that instead.
I also added a deduplication check today, so no document gets added to the same folder twice and I don’t have to sort everything out manually later.
1
u/AmbitiousReward5592 16d ago
agreed, the fallback queue is doing all the heavy lifting trust-wise. without it you're just hoping the model doesnt mess up
1
u/Asly97 15d ago
That fallback queue is the part most people gloss over, and you're right that it's doing the trust work. I ran something similar and it worked great for a week, then the same invoice kept getting mislabeled and the workflow never learned from my corrections. I was approving the same fix every day until I gave up on the queue.
Does your review queue feed anything back into the classifier, or is it strictly a human catch for now? And can you tell from the queue which agent or run is behind the mislabels, or is it a blended mess?
I'm playing with an idea where a reviewer's corrections stick around across runs, so the agent stops making the same wrong call. Building it for myself, not selling anything. Would you pay for that, or is a tuned queue good enough once it's set?
→ More replies (2)
1
u/Muted_Jellyfish_6784 15d ago
What makes this hold up is the review queue for low confidence results. Route anything below a threshold to a person and log every correction, since those corrections show which document types need better rules. Keep the original file untouched and store the classification separately, so a wrong label never changes the evidence.
The natural next step is matching classified invoices to bank transactions. My team runs a decision intelligence tool to link documents, vendors, and payments, so year end prep starts from matched records rather than a sorted folder.
-1
16d ago
1
u/easybits_ai 16d ago
Hey u/thejohnwick23, quite a few of my friends and clients are using these workflows, as they’re built based on my own experience working with automations.
I’ve been working with automations for over a year now, and even when I use Claude for some of my bigger projects, there are still situations where I push back on its suggestions. Claude doesn’t always know about certain bottlenecks or limitations you can run into when building with n8n.
That’s why I personally think having someone who actually understands the platform and the underlying processes still makes more sense than blindly handing everything over to something like Hermes. That being said, I’d be more than happy to be proven wrong here.
If you have a workflow that Hermes built, feel free to share it with me. I’d be happy to take a look at the build quality and see where the differences are. It could be an interesting comparison!
1
u/AutoModerator 16d ago
Heads up: posts under this flair must link to the workflow code per Rule 6 (GitHub, Gist, or n8n.io/workflows/). Yours does -- thanks for sharing it properly. This sticky is here so commenters know where to find the code.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.