https://github.com/capaj/adisepo-xml-generator
simple CLI tool for submitting Czech financial tax forms
https://github.com/capaj/adisepo-xml-generator
Last synced: about 1 year ago
JSON representation
simple CLI tool for submitting Czech financial tax forms
- Host: GitHub
- URL: https://github.com/capaj/adisepo-xml-generator
- Owner: capaj
- License: mit
- Created: 2020-02-02T23:16:12.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-10T16:53:06.000Z (over 3 years ago)
- Last Synced: 2025-02-12T19:48:47.319Z (over 1 year ago)
- Language: TypeScript
- Size: 132 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# adisepo-xml-generator
## Use case and Motivation
In Czech republic being a contractor requires you to submit 3 complex forms every month/quarter. It's a lot of manual chores, so I wanted to automate this boring task with a crude CLI tool hacked together in one day.
Note that this only makes sense to use if you have a very simple invoicing-just a few invoices per month to a foreign country with reverse charge to a single company. For more complex scenarios you might be able to modify the scripts to fit your use case, but don't expect it to work out of the box.
I am using fakturoid for my invoices, so the script that gets the total for the last X invoices hit's their API with one request.
## How to use
Obviously clone and install node modules. Then there are two commands you can run:
- `quarterly` - this invokes fakturoid API with values in input.yaml and gets you a total for the last X invoices. Then it generates XML files same as if you would invoke it yourself
- `generate` - creates XML files that you need to submit to your tax office
So if you want to use this, you want to start by duplicating `sample-input.yaml` as `input.yaml` and filling out a few values for your last quarter.
Then just use `generate` and submit the resulting XMLs on [adis](https://adisepo.mfcr.cz/adistc/adis/idpr_epo/epo2/uvod/vstup_expert.faces). Just make sure to recheck the values. This software is untested, provided as-is.
## FAQ
### Why not just use fakturoid or idoklad to get your XMLs?
These only offer exporting XMLs when you pay for them. I only have one or two invoices per month and it feels weird paying for a service that I barely use when a simple script like this provides almost the same kind of convenience with a free fakturoid account.
### Future plans
I am tempted to add `submit` command which would use puppeteer to submit the xml files for you on adisepo that the whole submission happens without leaving the terminal.