Development has moved to GitHub.
acc
Todo
- First Run with 2019 Taxes
- Documentation in Readme done
- Filter function
- Project Mode (almost done)
- Shorts for commands
- Code Documentation
- Misc Documents in complete Transactions
- pain.001 for payment generation
- Add IBAN to employee (data field, interactive add, assisted completion, validation)
- Rewrite
sba-pay as library for go
- Add functionality to iso20022 package
Installation
sudo apt install wmctrl
Usage and Functions
add
Add new elements (customer, employee, expense, expense-category, invoice or transaction) to your acc project. If you don't want to use the interactive prompt, use the --default flag. Some of the elements contain paths to files by using the --asset flag you can specify this paths in advance and thus use the tab-completion of your shell.
acc add customer -i acc.yaml
acc add invoice -i acc.yaml --asset /path/to/sent-invoice.pdf
bimpf
Hint: You can dump the data of Bimpf with the following command on the server:
git clone https://gitlab.com/solutionsbuero/bimpf.git
cd bimpf
python3 -m venv init .
source venv/bin/activate
pip3 install -r requirements.txt
python3 setup.py install
python3 bimpf/cli/__main__.py dump.json
Import Bimpf JSON dumps and converts them into to the acc-formatted JSON files:
acc bimpf import -i bimpf.json PATH/TO/FOLDER/
Validate a Bimpf JSON dump and saves the result to an output file:
acc bimpf validate -i bimpf.json report.txt
camt
Import bank statements from a ISO 20022 camt.001 xml into your acc project.
acc camt -i acc.yaml -statement /path/to/camt.xml
complete
Interactive complete expenses, invoices and transactions. Runs trough all elements and prompts an interface to complete certain elements. It supports searching for linked elements (like obliged customer for an invoice). Flags:
--auto-save Save each element record immediately after each completion. This can be helpful when working with big data sets which can't be all completed in one go.
force Normally only not valid or completed elements will be prompted for completion. Using this flag all elements will be prompted for completion. Caution: You can loose data.
--input as usual the path to the acc.yaml file.
--open-attachement Experimentally feature! Open (and most of the time) close the associated file in the default application. Will only work on Linux with xdg-mime, xprop installed and the application desktop files located under /usr/share/applications/.
--retain-focus Experimentally and hacky feature! Tries to regain focus of the terminal acc runs in. Will only work on certain Linux installations if wmctrl is installed.
The acc complete repopulate on the other hand can be used to link expenses and invoices to transactions which already are linked to the expense/invoice.
filter
Filter expenses and invoices with a data range and saves the subset in new files. Feature not completed.
invoices
Experimentally feature! Create some very basic invoices for customers.
ledger
Create a hleder journal based on the acc project.
new
Creates default JSON files in a given folder to get start working on a new project.
acc create PATH/TO/FOLDER/
query
Search for certain elements.
records
Exports expenses and invoices as an annotated business records for taxes and activation.
validate
Check your data.
Workflows
Workflow with Bimpf
- Import from Bimpf
- Dump Bimpf data as JSON.
- Validate dump with
acc bimpf validate -i dump.json and resolve the problems in Bimpf, then re-export the data.
- Import the date with
acc bimpf import -i dump.json -n /path/to/nc-folder.
- Validate the import with
acc validate -i acc.yaml.
- Open
acc.yaml and complete the configuration. Do not forget to...
- ...enter your company details (name, street, etc.).
- ...change the journal accounts to your needs.
- ...enter all account aliases.
- ...define known expense categories and their appropriate journal account (you also can add categories while complete expenses).
- Complete...
- ...expenses with
acc complete expenses.
- ...invoices with
acc complete invoices.
- Validate the result with
acc validate -i acc.yaml.
- Bank statement:
- Import the bank statement with
acc camt -i acc.yaml -s camt.xml.
- Complete with
acc complete expenses -i acc.yaml.
- Validate with
acc validate -i acc.yaml.
- Repopulate expenses and invoices with
acc complete repopulate -i acc.yaml.
- Complete transactions with
acc complete transactions -i acc.yaml
- Export the journal with
acc ledger -i acc.yaml -o ledger.journal -y 20XX while replacing «20XX» with the year you want to filter for. Take a close look at the warnings and change the files if needed.
- Manually correct the journal:
- Manually book all opening entries.
- Check all generated bookings.
- Amortize the positions you're legally obliged/allowed to.
- Book all necessary reserve assets.
- Finalize your journal.
Simple theater project
- Prepare:
- Collect all receipts of expenses in single folder (e.g.
raw/).
- Create new project
acc new.
- Add all people which payed some expense in advance for the project as employee
acc add employee -i acc.yaml.
- Add all expenses with
acc add expense -i acc.yaml -a raw/receipt.pdf.
- Import or create all bank transactions for the project. Pay attention you only add transactions which have some connection to the theater production.
- Complete the transactions with
acc complete transactions -i acc.yaml -d using the document-only mode (only associated documents will be completed).
- Repopulate the expenses with
acc complete repopulate -i acc.yaml.