EasyQuickImport is a tool that helps you import invoices, bills, transactions, customers and vendors into QuickBooks Desktop in multiple currencies in bulk.
Either install self-hosted or sign up for a free cloud account.
In EasyQuickImport:
Add a company file in Users, define username, password and specify the home currency. It's recommended to specify the company file location if you are going to use multiple company files on the same computer. Once it's done download the QWC file.
In Quickbooks click File / Update Web Services
Then Add an Application, in the file dialog select the downloaded QWC. Then click Yes, then select "When company file is open" and click continue. When it's done don't forget to specify the password that you defined in EasyQuickImport.
Here is docker-compose example with traefik v1.7
docker-compose.yml
with the following content:
version: '3.3'
services: php: image: registry.dev.trackmage.com/karser/easyquickimport/app_php environment: APP_ENV: 'prod' DATABASE_URL: 'mysql://eqi:pass123@mysql:3306/easyquickimport?serverVersion=mariadb-10.2.22' MAILER_DSN: 'smtp://localhost'
# MAILER_DSN: 'ses+smtp://ACCESS_KEY:SECRET_KEY@default?region=eu-west-1'
DOMAIN: 'your-domain.com'
depends_on:
- mysql
networks:
- backend
nginx:
image: registry.dev.trackmage.com/karser/easyquickimport/app_nginx
depends_on:
- php
networks:
- backend
- webproxy
labels:
- "traefik.backend=easyquickimport-nginx"
- "traefik.docker.network=webproxy"
- "traefik.frontend.rule=Host:your-domain.com"
- "traefik.enable=true"
- "traefik.port=80"
mysql:
image: leafney/alpine-mariadb:10.2.22
environment:
MYSQL_ROOT_PWD: 'pass123'
MYSQL_USER: 'eqi'
MYSQL_USER_PWD: 'pass123'
MYSQL_USER_DB: 'easyquickimport'
volumes:
- ./db_data/:/var/lib/mysql
networks:
- backend
networks: backend: webproxy: external: true
2. Tweak the environment variables and run
docker-compose up -d
3. Check the logs and make sure migrations executed
docker-compose logs -f
4. Create a user
docker-compose exec php bin/console app:create-user user@example.com --password pass123 The user has been created with id 1
5. Done! Now open `https://your-domain.com` and log in with the user you just created.
### Development setup
1. Clone the repo
git clone https://github.com/karser/EasyQuickImport.git
2. Install packages with composer
composer install
3. Copy `.env` to `.env.local` and configure DATABASE_URL and DOMAIN
4. Recreate the database
bin/console doctrine:schema:drop --full-database --force \ && bin/console doctrine:migrations:migrate -n
bin/console doctrine:fixtures:load
5. Create the user
bin/console app:create-user user@example.com --password pass123
6. Run the server
cd ./public php -S 127.0.0.1:9090
### Tests
bin/phpunit
### phpstan
vendor/bin/phpstan analyse -c phpstan.neon vendor/bin/phpstan analyse -c phpstan-tests.neon
### Lookup historical currency rate
bin/console app:currency:get USD --date 2020-03-05 --base HKD