{"id":13707020,"url":"https://github.com/moov-io/irs","last_synced_at":"2025-08-12T22:30:53.330Z","repository":{"id":37802593,"uuid":"275895599","full_name":"moov-io/irs","owner":"moov-io","description":"Internal Revenue Service (IRS) Filing Information Returns Electronically (FIRE)","archived":false,"fork":false,"pushed_at":"2025-08-06T20:52:24.000Z","size":2067,"stargazers_count":52,"open_issues_count":8,"forks_count":17,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-08-06T22:26:19.615Z","etag":null,"topics":["efile","fire","hacktoberfest","irs","taxes"],"latest_commit_sha":null,"homepage":"https://moov-io.github.io/irs/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moov-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-06-29T18:30:04.000Z","updated_at":"2025-08-03T02:32:55.000Z","dependencies_parsed_at":"2023-02-17T21:01:09.297Z","dependency_job_id":"4a02de22-f70d-4c0f-8b64-5054c0d90f3c","html_url":"https://github.com/moov-io/irs","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/moov-io/irs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moov-io%2Firs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moov-io%2Firs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moov-io%2Firs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moov-io%2Firs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moov-io","download_url":"https://codeload.github.com/moov-io/irs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moov-io%2Firs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270147519,"owners_count":24535616,"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","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["efile","fire","hacktoberfest","irs","taxes"],"created_at":"2024-08-02T22:01:15.536Z","updated_at":"2025-08-12T22:30:52.877Z","avatar_url":"https://github.com/moov-io.png","language":"Go","funding_links":[],"categories":["hacktoberfest","Go"],"sub_categories":[],"readme":"moov-io/irs\n===\n\n[![GoDoc](https://godoc.org/github.com/moov-io/irs?status.svg)](https://godoc.org/github.com/moov-io/irs)\n[![Build Status](https://github.com/moov-io/irs/workflows/Go/badge.svg)](https://github.com/moov-io/irs/actions)\n[![Coverage Status](https://codecov.io/gh/moov-io/irs/branch/master/graph/badge.svg)](https://codecov.io/gh/moov-io/irs)\n[![Go Report Card](https://goreportcard.com/badge/github.com/moov-io/irs)](https://goreportcard.com/report/github.com/moov-io/irs)\n[![Apache 2 licensed](https://img.shields.io/badge/license-Apache2-blue.svg)](https://raw.githubusercontent.com/moov-io/irs/master/LICENSE)\n\nIRS implemented a reader, writer, and HTTP server for IRS electronic [Filing Information Returns\nElectronically](https://www.irs.gov/e-file-providers/filing-information-returns-electronically-fire) (FIRE). Our tools and library operate at higher levels (JSON) which makes it easier for developers to leverage over the raw bytes (ASCII).\n\n| Input      | Output     |\n|------------|------------|\n| JSON       | JSON       |\n| ASCII FIRE | ASCII FIRE |\n|            | PDF Form   |\n|            | SQL        |\n\n\nDocs: [Project](https://moov-io.github.io/irs/) | [API Endpoints](https://moov-io.github.io/irs/api/)\n\n## Project Status\n\nWe are just getting started!\n\n- [ ] 1099-MISC [About Form 1099-MISC](https://www.irs.gov/forms-pubs/about-form-1099-misc)\n- [x] 1099-NEC [About Form 1099-NEC](https://www.irs.gov/forms-pubs/about-form-1099-nec)\n\n... more to come, open an issue or pull request!\n\n## Commands\n\nIrs has command line interface to manage irs files and to lunch web service.\n\n```\nirs --help\n```\n```\nUsage:\n   [command]\n\nAvailable Commands:\n  convert     Convert irs file format\n  help        Help about any command\n  print       Print irs file\n  validator   Validate irs file\n  web         Launches web server\n\nFlags:\n  -h, --help           help for this command\n      --input string   input file (default is $PWD/irs.json)\n\nUse \" [command] --help\" for more information about a command.\n```\n\nEach interaction that the library supports is exposed in a command-line option:\n\n Command | Info\n ------- | -------\n`convert` | The convert command allows users to convert from a irs file to another format file. Result will create a irs file.\n`print` | The print command allows users to print a irs file with special file format (json, irs).\n`validator` | The validator command allows users to validate a irs file.\n`web` | The web command will launch a web server with endpoints to manage irs files.\n\n### file convert\n\n```\nirs convert --help\n```\n```\nUsage:\n   convert [output] [flags]\n\nFlags:\n      --format string   format of irs file(required) (default \"json\")\n  -h, --help            help for convert\n\nGlobal Flags:\n      --input string   input file (default is $PWD/irs.json)\n```\n\nThe output parameter is the full path name to convert new irs file.\nThe format parameter is supported 2 types, \"json\" and  \"irs\".\nThe generate parameter will replace new generated trailer record in the file.\nThe input parameter is source irs file, supported raw type file and json type file.\n\nexample:\n```\nirs convert output/output.json --input testdata/packed_file.json --format json\n```\n\n### file print\n\n```\nirs print --help\n```\n```\nUsage:\n   print [flags]\n\nFlags:\n      --format string   print format (default \"json\")\n  -h, --help            help for print\n\nGlobal Flags:\n      --input string   input file (default is $PWD/irs.json)\n```\n\nThe format parameter is supported 2 types, \"json\" and  \"irs\".\nThe input parameter is source irs file, supported raw type file and json type file.\n\n### file validate\n\n```\nirs validator --help\n```\n```\nUsage:\n   validator [flags]\n\nFlags:\n  -h, --help   help for validator\n\nGlobal Flags:\n      --input string   input file (default is $PWD/irs.json)\n```\n\nThe input parameter is source irs file, supported raw type file and json type file.\n\nexample:\n```\nirs validator --input testdata/packed_file.dat\nError: is an invalid value of TotalConsumerSegmentsJ1\n\nirs validator --input testdata/packed_file.json\n```\n\n### web server\n\n```\nirs web --help\n```\n```\nUsage:\n   web [flags]\n\nFlags:\n  -h, --help          help for web\n  -t, --test          test server\n\nGlobal Flags:\n      --input string   input file (default is $PWD/irs.json)\n```\n\nThe port parameter is port number of web service.\n```\nirs web\n```\n\nWeb server have some endpoints to manage irs file\n\nMethod | Endpoint | Content-Type | Info\n ------- | ------- | ------- | -------\n `POST` | `/convert` | multipart/form-data | convert irs file. will download new file.\n `GET` | `/health` | text/plain | check web server.\n `POST` | `/print` | multipart/form-data | print irs file.\n `POST` | `/validator` | multipart/form-data | validate irs file.\n\nweb page example to use irs web server:\n\n```\n\u003c!doctype html\u003e\n\u003chtml lang=\"en\"\u003e\n\u003chead\u003e\n    \u003cmeta charset=\"utf-8\"\u003e\n    \u003ctitle\u003eSingle file upload\u003c/title\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n\u003ch1\u003eUpload single file with fields\u003c/h1\u003e\n\n\u003cform action=\"http://localhost:8208/convert\" method=\"post\" enctype=\"multipart/form-data\"\u003e\n    Format: \u003cinput type=\"text\" name=\"format\"\u003e\u003cbr\u003e\n    Files: \u003cinput type=\"file\" name=\"file\"\u003e\u003cbr\u003e\u003cbr\u003e\n    \u003cinput type=\"submit\" value=\"Submit\"\u003e\n\u003c/form\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n```\n\n## Docker\n\nYou can run the [moov/irs Docker image](https://hub.docker.com/r/moov/irs) which defaults to starting the HTTP server.\n\n```\ndocker run -p 8208:8208 moov/irs:latest\n```\n\n## Getting Started\n\nRead through the [project docs](docs/README.md) over here to get an understanding of the purpose of this project and how to run it.\n\n## Getting Help\n\n channel | info\n ------- | -------\n [Project Documentation](https://docs.moov.io/) | Our project documentation available online.\n Twitter [@moov](https://twitter.com/moov)\t| You can follow Moov.io's Twitter feed to get updates on our project(s). You can also tweet us questions or just share blogs or stories.\n [GitHub Issue](https://github.com/moov-io) | If you are able to reproduce a problem please open a GitHub Issue under the specific project that caused the error.\n [moov-io slack](https://slack.moov.io/) | Join our slack channel (`#irs`) to have an interactive discussion about the development of the project.\n\n## Supported and Tested Platforms\n\n- 64-bit Linux (Ubuntu, Debian), macOS, and Windows\n\n## Contributing\n\nYes please! Please review our [Contributing guide](CONTRIBUTING.md) and [Code of Conduct](https://github.com/moov-io/ach/blob/master/CODE_OF_CONDUCT.md) to get started! Checkout our [issues for first time contributors](https://github.com/moov-io/irs/contribute) for something to help out with.\n\nThis project uses [Go Modules](https://github.com/golang/go/wiki/Modules) and uses Go 1.14 or higher. See [Golang's install instructions](https://golang.org/doc/install) for help setting up Go. You can download the source code and we offer [tagged and released versions](https://github.com/moov-io/irs/releases/latest) as well. We highly recommend you use a tagged release for production.\n\n### Test Coverage\n\nImproving test coverage is a good candidate for new contributors while also allowing the project to move more quickly by reducing regressions issues that might not be caught before a release is pushed out to our users. One great way to improve coverage is by adding edge cases and different inputs to functions (or [contributing and running fuzzers](https://github.com/dvyukov/go-fuzz)).\n\n## License\n\nApache License 2.0 See [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoov-io%2Firs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoov-io%2Firs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoov-io%2Firs/lists"}