EasyQuickImport is a tool that helps you import invoices, bills, transactions, customers and vendors into QuickBooks Desktop in multiple currencies in bulk.
- Import of Journal Entries transactions, Single-line Invoices and bills. Import creates customers, and vendors automatically.
- Supported formats: csv, xlsx, xls
- Multicurrency support. The base currency can be USD, EUR or anything else. The currency of all your accounts is detected automatically (after you import the Chart of accounts).
- Cross Currency Transactions. Transfer between accounts of different currencies goes through the Undeposited funds account. EasyQuickImport doesn't affect the Undeposited funds balance because it uses the accurate historical exchange rate.
- Historical exchange rate. EasyQuickImport automatically obtains the exchange rate from European Central Bank on a given date for any currency for each transaction. You can use other exchange rate sources as well.
- Multi-tenancy: if you have multiple company files on the same computer, you can add them all to 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.ymlwith 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://ACCESS_KEY:SECRET_KEY@default?region=eu-west-1' # 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
- Tweak the environment variables and run
docker-compose up -d
- Check the logs and make sure migrations executed
docker-compose logs -f
- Create a user
docker-compose exec php bin/console app:create-user email@example.com --password pass123 The user has been created with id 1
- Done! Now open
https://your-domain.comand log in with the user you just created.
- Clone the repo
git clone https://github.com/karser/EasyQuickImport.git
- Install packages with composer
.env.localand configure DATABASE_URL and DOMAIN
- Recreate the database
bin/console doctrine:schema:drop --full-database --force \ && bin/console doctrine:migrations:migrate -n #fixtures bin/console doctrine:fixtures:load
- Create the user
bin/console app:create-user firstname.lastname@example.org --password pass123
- Run the server
cd ./public php -S 127.0.0.1:9090
vendor/bin/phpstan analyse -c phpstan.neon vendor/bin/phpstan analyse -c phpstan-tests.neon
bin/console app:currency:get USD --date 2020-03-05 --base HKD