{"id":16233480,"url":"https://github.com/karser/easyquickimport","last_synced_at":"2025-03-19T14:31:31.479Z","repository":{"id":57004620,"uuid":"364570629","full_name":"karser/EasyQuickImport","owner":"karser","description":"EasyQuickImport — Import transactions, invoices and bills into QuickBooks Desktop from Excel or CSV","archived":false,"fork":false,"pushed_at":"2021-10-13T13:06:47.000Z","size":165,"stargazers_count":15,"open_issues_count":0,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-28T19:20:58.469Z","etag":null,"topics":["bill","csv-import","general-journal","importer","intuit","invoice","qbd","quickbooks","quickbooks-desktop","quickbooks-sync","quickbooks-web-connector","web-connector"],"latest_commit_sha":null,"homepage":"https://github.com/karser/EasyQuickImport","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-05T12:34:42.000Z","updated_at":"2024-10-31T12:35:34.000Z","dependencies_parsed_at":"2022-08-21T12:10:54.065Z","dependency_job_id":null,"html_url":"https://github.com/karser/EasyQuickImport","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karser%2FEasyQuickImport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karser%2FEasyQuickImport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karser%2FEasyQuickImport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karser%2FEasyQuickImport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karser","download_url":"https://codeload.github.com/karser/EasyQuickImport/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243997108,"owners_count":20380980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bill","csv-import","general-journal","importer","intuit","invoice","qbd","quickbooks","quickbooks-desktop","quickbooks-sync","quickbooks-web-connector","web-connector"],"created_at":"2024-10-10T13:12:47.295Z","updated_at":"2025-03-19T14:31:31.160Z","avatar_url":"https://github.com/karser.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EasyQuickImport — Import transactions, invoices and bills into QuickBooks Desktop from Excel or CSV\n\n[![Build Status](https://gitlab.dev.trackmage.com/karser/easyquickimport/badges/master/pipeline.svg)](https://gitlab.dev.trackmage.com/karser/easyquickimport/pipelines)\n[![Total Downloads](https://poser.pugx.org/karser/easy-quick-import/downloads)](https://packagist.org/packages/karser/easy-quick-import)\n\nEasyQuickImport is a tool that helps you import invoices, bills, transactions,\ncustomers and vendors into QuickBooks Desktop in multiple currencies in bulk.\n\n### Features\n- **Import of Journal Entries transactions, Single-line Invoices and bills**. Import creates customers, and vendors automatically.\n- **Supported formats: csv, xlsx, xls**\n- **Multicurrency support**. The base currency can be USD, EUR or anything else. The currency of all your accounts is detected automatically\n  (after you import the Chart of accounts).\n- **Cross Currency Transactions**. Transfer between accounts of different currencies goes through the Undeposited\n  funds account. EasyQuickImport doesn't affect the Undeposited funds balance because it uses the accurate historical exchange rate.\n- **Historical exchange rate**. EasyQuickImport automatically obtains the exchange rate from European Central Bank\n  on a given date for any currency for each transaction. You can use [other exchange rate sources](https://github.com/florianv/exchanger) as well.\n- **Multi-tenancy**: if you have multiple company files on the same computer, you can add them all to EasyQuickImport.\n\n\n## Getting started:\n\nEither install [self-hosted](#how-to-install-easyquickimport) or [sign up](https://app.easyquickimport.com/register) for a free cloud account.\n\n### Connect EasyQuickImport to QuickBooks Desktop\n\n**In EasyQuickImport**:\n\nAdd a company file in Users, define username, password and specify the home currency.\nIt's recommended to specify the company file location if you are going to use multiple company files on the same computer.\nOnce it's done download the QWC file.\n\n**In Quickbooks** click `File / Update Web Services`\n\nThen Add an Application, in the file dialog select the downloaded QWC.\nThen click Yes, then select \"When company file is open\" and click continue.\nWhen it's done don't forget to specify the password that you defined in EasyQuickImport.\n\n[![Connect EasyQuickImport to QuickBooks Desktop](https://user-images.githubusercontent.com/1675033/117167904-5a9d6780-add0-11eb-901d-8228443be18c.png)](https://www.youtube.com/watch?v=6kVJrthCQr0)\n\n### How to import invoices from Excel into QuickBooks Desktop\n\n[![Import invoices from Excel into QuickBooks Desktop](https://user-images.githubusercontent.com/1675033/117167991-7274eb80-add0-11eb-99ef-e6f27e72e509.png)](https://www.youtube.com/watch?v=ZKe002JUIww)\n\n### How to import transactions from Excel into QuickBooks Desktop\n\n[![How to import transactions from Excel into QuickBooks Desktop](https://user-images.githubusercontent.com/1675033/117168077-83bdf800-add0-11eb-8ad9-9d8668164752.png)](https://www.youtube.com/watch?v=-hmhxs72W1E)\n\n### How to import bills and vendors from Excel into QuickBooks Desktop\n\n[![How to import bills and vendors from Excel into QuickBooks Desktop](https://user-images.githubusercontent.com/1675033/117168137-90dae700-add0-11eb-826d-b09c1cbd1b71.png)](https://www.youtube.com/watch?v=vcSeREomzuE)\n\n### How to import multicurrency transactions from Excel into QuickBooks Desktop\n\n[![How to import multicurrency transactions from Excel into QuickBooks Desktop](https://user-images.githubusercontent.com/1675033/117168217-a223f380-add0-11eb-8033-def86fc9c824.png)](https://www.youtube.com/watch?v=NvMpb3wVIXc)\n\n\n## How to install EasyQuickImport\n\n### Docker setup\n\nHere is docker-compose example with [traefik v1.7](https://doc.traefik.io/traefik/v1.7/)\n\n1. Create `docker-compose.yml` with the following content:\n```yaml\nversion: '3.3'\n\nservices:\n    php:\n        image: registry.dev.trackmage.com/karser/easyquickimport/app_php\n        environment:\n            APP_ENV: 'prod'\n            DATABASE_URL: 'mysql://eqi:pass123@mysql:3306/easyquickimport?serverVersion=mariadb-10.2.22'\n            MAILER_DSN: 'smtp://localhost'\n            # MAILER_DSN: 'ses://ACCESS_KEY:SECRET_KEY@default?region=eu-west-1'\n            # MAILER_DSN: 'ses+smtp://ACCESS_KEY:SECRET_KEY@default?region=eu-west-1'\n            DOMAIN: 'your-domain.com'\n        depends_on:\n            - mysql\n        networks:\n            - backend\n\n    nginx:\n        image: registry.dev.trackmage.com/karser/easyquickimport/app_nginx\n        depends_on:\n            - php\n        networks:\n            - backend\n            - webproxy\n        labels:\n            - \"traefik.backend=easyquickimport-nginx\"\n            - \"traefik.docker.network=webproxy\"\n            - \"traefik.frontend.rule=Host:your-domain.com\"\n            - \"traefik.enable=true\"\n            - \"traefik.port=80\"\n\n    mysql:\n        image: leafney/alpine-mariadb:10.2.22\n        environment:\n            MYSQL_ROOT_PWD: 'pass123'\n            MYSQL_USER: 'eqi'\n            MYSQL_USER_PWD: 'pass123'\n            MYSQL_USER_DB: 'easyquickimport'\n        volumes:\n            - ./db_data/:/var/lib/mysql\n        networks:\n            - backend\n\nnetworks:\n    backend:\n    webproxy:\n        external: true\n```\n2. Tweak the environment variables and run\n```\ndocker-compose up -d\n```\n3. Check the logs and make sure migrations executed\n```\ndocker-compose logs -f\n```\n4. Create a user\n```\ndocker-compose exec php bin/console app:create-user user@example.com --password pass123\nThe user has been created with id 1\n```\n5. Done! Now open `https://your-domain.com` and log in with the user you just created.\n\n\n### Development setup\n\n1. Clone the repo\n```\ngit clone https://github.com/karser/EasyQuickImport.git\n```\n2. Install packages with composer\n```\ncomposer install\n```\n3. Copy `.env` to `.env.local` and configure DATABASE_URL and DOMAIN\n4. Recreate the database\n```\nbin/console doctrine:schema:drop --full-database --force \\\n\u0026\u0026 bin/console doctrine:migrations:migrate -n\n#fixtures\nbin/console doctrine:fixtures:load\n```\n5. Create the user\n```\nbin/console app:create-user user@example.com --password pass123\n```\n6. Run the server\n```\ncd ./public\nphp -S 127.0.0.1:9090\n```\n\n### Tests\n```\nbin/phpunit\n```\n\n### phpstan\n```\nvendor/bin/phpstan analyse -c phpstan.neon\nvendor/bin/phpstan analyse -c phpstan-tests.neon\n```\n\n### Lookup historical currency rate\n``` \nbin/console app:currency:get USD --date 2020-03-05 --base HKD\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarser%2Feasyquickimport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarser%2Feasyquickimport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarser%2Feasyquickimport/lists"}