{"id":25949822,"url":"https://github.com/guysnacho/unclesam","last_synced_at":"2026-05-29T20:31:07.643Z","repository":{"id":280546228,"uuid":"942359830","full_name":"Guysnacho/unclesam","owner":"Guysnacho","description":"Taxes is annoying and I don't wanna pay anybody for it... so I'm doing it myself.","archived":false,"fork":false,"pushed_at":"2025-03-04T03:12:10.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-04T03:20:22.727Z","etag":null,"topics":["csv-parser","financial-analysis","golang","tax"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Guysnacho.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-04T01:47:14.000Z","updated_at":"2025-03-04T03:12:13.000Z","dependencies_parsed_at":"2025-03-04T03:20:33.159Z","dependency_job_id":"78bacc80-2ada-4811-8a39-b1207015dc96","html_url":"https://github.com/Guysnacho/unclesam","commit_stats":null,"previous_names":["guysnacho/unclesam"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guysnacho%2Funclesam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guysnacho%2Funclesam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guysnacho%2Funclesam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guysnacho%2Funclesam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Guysnacho","download_url":"https://codeload.github.com/Guysnacho/unclesam/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241847606,"owners_count":20030291,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv-parser","financial-analysis","golang","tax"],"created_at":"2025-03-04T12:29:28.316Z","updated_at":"2026-05-29T20:31:07.631Z","avatar_url":"https://github.com/Guysnacho.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Uncle Sam | Tax Services\n\nSo its tax season and one of the beautiful perks of getting business official is paying it up to Uncle Sam. I just wish that was me.\n\n## Inspiration\n\nIts a lot of work to sift through Excel Spreadsheets and I don't feel like learning macros.\n\nIts painful. I'm fine. INSTEAD, I decided to use it as an excuse to learn some more Go. Found the [go csv package](https://pkg.go.dev/encoding/csv@go1.24.0) was baked into the standard lib (like most things), downloaded my transactions across a couple of cards and accounts, and got to work.\n\n## Usage\n\n### Prerequisites\n\nTo use this tool, you'll need\n\n- [Go installed](https://go.dev/)\n- CSVs of your transactions\n  - CSVs need a header row (top row with a label for each column)\n  - Most banks with an online banking feature should have a way to export your transactions, ideally it has a `description` and `amount` header but you can rename that in the CSV or modify the app to look for differently named columns\n\n### Executing\n\n#### Using Go\n\nAdd copy/move your downloaded CSVs into the root of the project and run the following\n\n```bash\n#!/bin/bash\ngo run\n```\n\n#### Using release\n\nYou can find built versions of the tool if you don't feel like installing Go [here](https://github.com/Guysnacho/unclesam/releases)\n\n## Gameplan\n\n### Collect files\n\nI exported my transactions to CSVs and dropped them in the root of the project. If you fork...obviously don't commit your financial transactions.\n\n### Find out which columns we need\n\nThankfully my bank provides standardized CSVs but I made it dynamic bc why not.\nAdded a function to parse the header and return which columns contain the transaction's `description` and `amount`.\n\n### Filter out transactions I need\n\nUnfortunately DoorDash effectively owns my transactions so I need to filter down to just transactions I need.\n\nSomething'll probably slip through the cracks but luckily I know must of them.\n\n### Compile results\n\nJust a string conversion to float and adding. If I wanted to do some calculations or find some aggregations then I could add that but thankfully I just need income and expenses.\n\nNot a bad idea though, we'll do that later because I never wanna touch this again and don't feel like signing up to QuickBooks.\n\n### Sip some tea and touch some grass\n\nI already feel like I spent too much time on this but I've got 12 days to get this filed and whip up a K-1 form soooo I continue to cook.\n\n## Changelog\n\nSo I'm writing this from the point where I've got file reading kinda working.\n\n### Filtering is working\n\n\u003cdetails\u003e\n\u003csummary\u003eGot filtering working\u003c/summary\u003e\n\n![alt text](evidence1.png \"Got filtering working\")\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGot expenses generated. Looking good\u003c/summary\u003e\n\n![alt text](evidence2.png \"Got expenses generated\")\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguysnacho%2Funclesam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguysnacho%2Funclesam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguysnacho%2Funclesam/lists"}