karser/easy-quick-import

从Excel或CSV导入交易、发票和账单到QuickBooks桌面版

v0.1.0 2021-05-05 21:22 UTC

This package is auto-updated.

Last update: 2024-09-13 19:21:32 UTC


README

Build Status Total Downloads

EasyQuickImport是一款工具,可以帮助您批量将发票、账单、交易、客户和供应商导入到支持多货币的QuickBooks桌面版。

功能

  • 导入日记账、单行发票和账单。导入会自动创建客户和供应商。
  • 支持格式:csv, xlsx, xls
  • 支持多货币。基本货币可以是USD、EUR或其他任何货币。所有账户的货币将自动检测(在您导入账户表后)。
  • 跨货币交易。不同货币账户之间的转账将通过未存入资金账户进行。EasyQuickImport不会影响未存入资金余额,因为它使用准确的汇率。
  • 历史汇率。EasyQuickImport会自动从欧洲央行在特定日期为每种货币的每笔交易获取汇率。您还可以使用其他汇率来源
  • 多租户:如果您在同一台计算机上拥有多个公司文件,您可以将它们全部添加到EasyQuickImport。

入门指南

安装自托管注册免费云账户。

连接EasyQuickImport到QuickBooks桌面版

在EasyQuickImport中:

在用户中添加公司文件,定义用户名、密码并指定母币种。如果您打算在同一台计算机上使用多个公司文件,建议指定公司文件位置。完成后下载QWC文件。

在QuickBooks中点击文件/更新Web服务

然后添加应用程序,在文件对话框中选择下载的QWC。然后点击是,然后选择“当公司文件打开时”并点击继续。完成后,不要忘记指定您在EasyQuickImport中定义的密码。

Connect EasyQuickImport to QuickBooks Desktop

如何从Excel导入发票到QuickBooks桌面版

Import invoices from Excel into QuickBooks Desktop

如何从Excel导入交易到QuickBooks桌面版

How to import transactions from Excel into QuickBooks Desktop

如何从Excel导入账单和供应商到QuickBooks桌面版

How to import bills and vendors from Excel into QuickBooks Desktop

如何从Excel导入多货币交易到QuickBooks桌面版

How to import multicurrency transactions from Excel into QuickBooks Desktop

如何安装EasyQuickImport

Docker配置

以下是一个使用traefik v1.7的docker-compose示例

  1. 创建包含以下内容的docker-compose.yml
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
  1. 调整环境变量并运行
docker-compose up -d
  1. 检查日志并确保迁移已执行
docker-compose logs -f
  1. 创建用户
docker-compose exec php bin/console app:create-user user@example.com --password pass123
The user has been created with id 1
  1. 完成!现在打开https://your-domain.com并使用您刚刚创建的用户登录。

开发环境设置

  1. 克隆仓库
git clone https://github.com/karser/EasyQuickImport.git
  1. 使用composer安装包
composer install
  1. .env复制到.env.local并配置DATABASE_URL和DOMAIN
  2. 重新创建数据库
bin/console doctrine:schema:drop --full-database --force \
&& bin/console doctrine:migrations:migrate -n
#fixtures
bin/console doctrine:fixtures:load
  1. 创建用户
bin/console app:create-user user@example.com --password pass123
  1. 运行服务器
cd ./public
php -S 127.0.0.1:9090

测试

bin/phpunit

phpstan

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