This is a project that contains two tasks. You can trigger them manually or setup a docker container that will run them periodically.
Input: Compra 1234 Continente Porto Contactless
Regex: Compra [0-9]{4}|Contactless|Compra:|[0-9]{4}-[0-9]{0,3}
Output: Continente Porto
This task will also remove extra space in the payee name.
Input: Continente Porto
Output: Continente Porto
To configure the correct interest rate is the % multiple by 1000
Create a new transaction to keep ghostfolio account balance and actual account balance in sync
Sum all income transaction and hold it to next month budget
Run bank sync
npm ci.sample.env to .env and fill in the blanksThis is a repository where I will be adding tasks to run periodically. For now both fixing payees name and calculate mortage are enabled by default.
Usage
$ actual-tasks <command> <flags>
Commands & Options
config Print the location of actualplaid the config file
fix-payees Will apply the regex and replace for empty string
calculate-mortage Will check the mortage balance and calculate the principal payment based on your montly payment
ghostfolio-sync Will check ghost balance account and actual account balances and create a transaction in actual to sync both balances.
hold-amout-for-next-month Sum all income transaction and hold it to next month budget
bank-sync Will run the bank sync
Options for all commands
--user, -u Specify the user to load configs for
Examples
$ actual-tasks config
When you're ready, start your application by running:
docker compose up --build.
Docker-comple.yaml example:
version: '3'
services:
actual_server:
container_name: actualtasks
image: docker.io/rodriguestiago0/actualtasks
environment:
- PUID=1003
- PGID=100
- TZ=Europe/Lisbon
- INTEREST_RATE=
- MORTGAGE_PAYEE_ID=
- MORTGAGE_ACCOUNT_ID=
- MAIN_ACCOUNT_ID=
- PAYEE_REGEX_MATCH=
- ACTUAL_SERVER_URL=
- ACTUAL_SERVER_PASSWORD=
- ACTUAL_SYNC_ID=
- ENABLE_INTEREST_CALCULATION=true
- ENABLE_PAYEE_RENAME=true
- CRON_EXPRESSION= # default value is "0 */4 * * *"
- GHOSTFOLIO_ACCOUNT=
- GHOSTFOLIO_ACTUAL_ACCOUNT=
- GHOSTFOLIO_ACTUAL_PAYEE_NAME=
- ENABLE_GHOSTFOLIO_SYNC=true
- GHOSTFOLIO_SERVER_URL=
- GHOSTFOLIO_TOKEN=
- ENABLE_HOLD_INCOME_FOR_NEXT_MONTH=true
- ENABLE_BANK_SYNC=true
restart: unless-stopped
docker run -d --name actualtasks \
- e 'INTEREST_RATE=' \
- e 'MORTGAGE_PAYEE_ID=' \
- e 'MAIN_ACCOUNT_ID=' \
- e 'MORTGAGE_ACCOUNT_ID=' \
- e' ENABLE_INTEREST_CALCULATION'=true \
- e 'ENABLE_PAYEE_RENAME'=true \
- e 'PAYEE_REGEX_MATCH=' \
- e 'ACTUAL_SERVER_URL= ' \
- e 'ACTUAL_SERVER_PASSWORD=' \
- e 'ACTUAL_SYNC_ID=' \
- e 'CRON_EXPRESSION'= # default value is "0 */4 * '* *"' \
- e 'GHOSTFOLIO_ACCOUNT'= \
- e 'GHOSTFOLIO_ACTUAL_ACCOUNT'= \
- e 'GHOSTFOLIO_ACTUAL_PAYEE_NAME'= \
- e 'ENABLE_GHOSTFOLIO_SYNC'=true \
- e 'GHOSTFOLIO_SERVER_URL'= \
- e 'GHOSTFOLIO_TOKEN'= \
- e 'ENABLE_HOLD_INCOME_FOR_NEXT_MONTH'=true \
- e 'ENABLE_BANK_SYNC'=true \
--restart=on-failure rodriguestiago0/actualtasks:latest
Content type
Image
Digest
sha256:d3e4aaeb7…
Size
100.7 MB
Last updated
about 1 hour ago
docker pull rodriguestiago0/actualtasks