Generar código para lenguaje contable de partida doble basado en facturas. Soporte de factura actual:
Soporte de lenguajes contables actuales:
La arquitectura admite la expansión. Si necesita admitir nuevos billetes (como billetes bancarios, etc.), puede agregar un proveedor. Si necesita admitir nuevos lenguajes de contabilidad, puede agregar un compilador.
┌───────────┐ ┌──────────┐ ┌────┐ ┌──────────┐ ┌──────────┐
│ translate │->│ provider │->│ IR │->│ compiler │->│ analyser │
└───────────┘ └──────────┘ └────┘ └──────────┘ └──────────┘
alipay beancount alipay
wechat ledger wechat
huobi huobi
htsec htsec
icbc icbc
td td
bmo bmo
Instalar usando Homebrew:
brew install deb-sig/tap/double-entry-generator
Actualizar software usando Homebrew:
brew upgrade deb-sig/tap/double-entry-generator
Simplemente descargue el archivo binario de la arquitectura correspondiente a su computadora local desde la página de lanzamiento de GitHub.
go get -u github.com/deb-sig/double-entry-generator
Por favor consulte la documentación de uso.
double-entry-generator translate
--config ./example/alipay/config.yaml
--output ./example/alipay/example-alipay-output.beancount
./example/alipay/example-alipay-records.csv
Entre ellos, --config
es el archivo de configuración. De forma predeterminada, Alipay se utiliza como proveedor y --provider
también se puede especificar manualmente. Consulte la documentación de uso para obtener más detalles. El archivo generado de forma predeterminada es default_output.beancount
. Si --output
o -o
especifica un archivo de salida, se enviará al archivo especificado. En el ejemplo anterior, los resultados de la conversión se enviarán al archivo ./example/alipay/example-alipay-output.beancount
.
double-entry-generator translate
--config ./example/wechat/config.yaml
--provider wechat
--output ./example/wechat/example-wechat-output.beancount
./example/wechat/example-wechat-records.csv
double-entry-generator translate
--config ./example/huobi/config.yaml
--provider huobi
--output ./example/huobi/example-huobi-output.beancount
./example/huobi/example-huobi-records.csv
double-entry-generator translate
--config ./example/htsec/config.yaml
--provider htsec
--output ./example/htsec/example-htsec-output.beancount
./example/htsec/example-htsec-records.xlsx
double-entry-generator translate
--config ./example/icbc/credit/config.yaml
--provider icbc
--output ./example/icbc/credit/example-icbc-credit-output.beancount
./example/icbc/credit/example-icbc-credit-records.csv
double-entry-generator translate
--config ./example/td/config.yaml
--provider td
--output ./example/td/example-td-output.beancount
./example/td/example-td-records.csv
double-entry-generator translate
--config ./example/bmo/credit/config.yaml
--provider bmo
--output ./example/bmo/credit/example-bmo-output.beancount
./example/bmo/credit/example-bmo-records.csv
double-entry-generator translate
--config ./example/alipay/config.yaml
--target ledger
--output ./example/alipay/example-alipay-output.ledger
./example/alipay/example-alipay-records.csv
double-entry-generator translate
--config ./example/wechat/config.yaml
--provider wechat
--target ledger
--output ./example/wechat/example-wechat-output.ledger
./example/wechat/example-wechat-records.csv
double-entry-generator translate
--config ./example/huobi/config.yaml
--provider huobi
--target ledger
--output ./example/huobi/example-huobi-output.ledger
./example/huobi/example-huobi-records.csv
double-entry-generator translate
--config ./example/htsec/config.yaml
--provider htsec
--target ledger
--output ./example/htsec/example-htsec-output.ledger
./example/htsec/example-htsec-records.xlsx
double-entry-generator translate
--config ./example/icbc/credit/config.yaml
--provider icbc
--target ledger
--output ./example/icbc/credit/example-icbc-credit-output.ledger
./example/icbc/credit/example-icbc-credit-records.csv
double-entry-generator translate
--config ./example/td/config.yaml
--provider td
--target ledger
--output ./example/td/example-td-output.ledger
./example/td/example-td-records.csv
double-entry-generator translate
--config ./example/bmo/debit/config.yaml
--provider bmo
--target ledger
--output ./example/bmo/debit/example-bmo-output.ledger
./example/bmo/debit/example-bmo-records.csv
Para las versiones v1.0.0
y superiores, consulte este artículo para obtener la factura de Alipay.
Para las versiones v0.2.0
e inferiores, utilice este método para obtener la factura: después de iniciar sesión en PC Alipay, visite aquí, seleccione el rango de tiempo, desplácese hasta la parte inferior de la página y haga clic para descargar los resultados de la consulta. Nota: descargue los resultados de la consulta, no los detalles de ingresos y gastos.
ejemplo-alipay-records.csv
Este ejemplo es el formato de factura obtenido de la APLICACIÓN "Alipay".
Ejemplo de resultado convertido: exmaple-alipay-output.beancount.
Consulte aquí cómo descargar WeChat Pay.
ejemplo-wechat-records.csv
Ejemplo de resultado convertido: exmaple-wechat-output.beancount.
Actualmente, el proyecto solo garantiza la conversión de órdenes comerciales de moneda a criptomonedas y aún no ha probado órdenes comerciales de contrato, apalancamiento ni otras.
Bienvenidos relaciones públicas :)
Inicie sesión en el sitio web de Huobi Global, ingrese a la página de detalles de la transacción del pedido de monedas, seleccione el rango de tiempo apropiado y haga clic en el botón exportar en la esquina superior derecha de los detalles de la transacción.
ejemplo-huobi-records.csv
Ejemplo de resultado convertido: exmaple-huobi-output.beancount.
Inicie sesión en el cliente para PC de la versión comercial independiente de eHaitongcai para PC, seleccione Consulta-Orden de entrega en la barra de navegación izquierda y haga clic en el botón de consulta a la derecha para exportar el archivo de Excel de la orden de entrega.
ejemplo-htsec-records.csv
Ejemplo de resultado convertido: exmaple-htsec-output.beancount.
Puede encontrar cómo descargar la declaración del ICBC aquí.
double-entry-generator
puede identificar automáticamente el tipo de factura (tarjeta de débito/tarjeta de crédito) del Banco Industrial y Comercial de China.
Ejemplo de factura de tarjeta de débito: ejemplo-icbc-debit-records.csv
Ejemplo de resultado de conversión de factura de tarjeta de débito: ejemplo-icbc-debit-output.beancount.
Ejemplo de factura de tarjeta de crédito: ejemplo-icbc-credit-records.csv
Ejemplo del resultado convertido de una factura de tarjeta de crédito: ejemplo-icbc-credit-output.beancount.
ejemplo-td-records.csv
ejemplo-bmo-record.csv
ejemplo-jd-records.csv
defaultMinusAccount : Assets:FIXME
defaultPlusAccount : Expenses:FIXME
defaultCurrency : CNY
title : 测试
alipay :
rules :
- category : 日用百货
targetAccount : Expenses:Groceries
- category : 餐饮美食
time : 11:00-14:00
targetAccount : Expenses:Food:Lunch
- category : 餐饮美食
time : 16:00-22:00
targetAccount : Expenses:Food:Dinner
- peer : 滴露
targetAccount : Expenses:Groceries
- peer : 苏宁
targetAccount : Expenses:Electronics
- item : 相互宝
targetAccount : Expenses:Insurance
- method : 余额
fullMatch : true
methodAccount : Assets:Alipay
- method : 余额宝
fullMatch : true
methodAccount : Assets:Alipay
- method : 招商银行(9876)
fullMatch : true
methodAccount : Assets:Bank:CN:CMB-9876:Savings
- type : 收入 # 其他转账收款
targetAccount : Income:FIXME
methodAccount : Assets:Alipay
- type : 收入 # 收款码收款
item : 商品
targetAccount : Income:Alipay:ShouKuanMa
methodAccount : Assets:Alipay
# 交易类型为其他
- type : 其他
item : 收益发放
methodAccount : Income:Alipay:YuEBao:PnL
targetAccount : Assets:Alipay
- type : 其他
item : 余额宝-单次转入
targetAccount : Assets:Alipay
methodAccount : Assets:Alipay
- peer : 基金
type : 其他
item : 黄金-买入
methodAccount : Assets:Alipay
targetAccount : Assets:Alipay:Invest:Gold
- peer : 基金
type : 其他
item : 黄金-卖出
methodAccount : Assets:Alipay:Invest:Gold
targetAccount : Assets:Alipay
pnlAccount : Income:Alipay:Invest:PnL
- peer : 基金
type : 其他
item : 买入
methodAccount : Assets:Alipay
targetAccount : Assets:Alipay:Invest:Fund
- peer : 基金
type : 其他
item : 卖出
methodAccount : Assets:Alipay:Invest:Fund
targetAccount : Assets:Alipay
pnlAccount : Income:Alipay:Invest:PnL
defaultMinusAccount
, defaultPlusAccount
y defaultCurrency
son valores predeterminados requeridos globales. Entre ellos, defaultMinusAccount
es la cuenta con el monto predeterminado reducido defaultPlusAccount
es la cuenta con el monto predeterminado aumentado. defaultCurrency
es la moneda predeterminada.
alipay
es la configuración específica del proveedor. El proveedor de Alipay tiene un mecanismo de coincidencia de reglas.
Configuración relacionada con alipay
ant bill. Proporciona coincidencia basada en reglas. Puedes especificar:
peer
(contraparte).item
(descripción del artículo).type
(recibo/gasto).method
(método de recibo/pago).category
(categoría de transacción).time
(tiempo de negociación).El tiempo de negociación se puede escribir de las dos formas siguientes:
11:00-13:00
11:00:00-13:00:00
Reloj de 24 horas, la hora de inicio y la hora de finalización están separadas por-
.
minPrice
(cantidad mínima) y maxPrice
(cantidad máxima).Puede utilizar el separador (sep) para completar varias palabras clave en una sola regla. En el mismo objeto, existe una relación OR entre cada palabra clave.
Puede usar fullMatch
para establecer reglas de coincidencia de caracteres en una sola regla. true
significa usar coincidencia completa, false
significa usar coincidencia parcial. Si este elemento no está configurado, se usará la coincidencia inclusiva de forma predeterminada.
En una sola regla, puede usar tag
para establecer la etiqueta de la canalización y usar sep
como separador.
Puede usar ignore
en una sola regla para establecer si ignorar las transacciones que coinciden con la regla. true
significa ignorar las transacciones que coinciden con la regla, fasle
significa no ignorar y el valor predeterminado es false
.
Si la coincidencia es exitosa, targetAccount
, methodAccount
y otras cuentas definidas en la regla se utilizarán para sobrescribir la cuenta definida predeterminada.
El orden de coincidencia de reglas es: comenzar a hacer coincidir desde el primer elemento en la configuración rules
y continuar haciendo coincidir si la coincidencia es exitosa. Es decir, la prioridad de las reglas posteriores es mayor que la de las reglas anteriores.
Alipay proporciona un campo de "método de transacción" para identificar los fondos que ingresan y salen de la cuenta. De esta manera, puede confirmar directamente si la cuenta es un aumento o una disminución a través del "Método de transacción" y el campo "Ingresos/Gastos". El método de contabilidad de partida doble requiere al menos dos cuentas para cada transacción, y la otra cuenta se puede ingresar a través de "peer" (par), "producto" (artículo), "recibo/gasto" (tipo) y "método de transacción". (método) ) se obtiene mediante coincidencias de inclusión múltiples. Si la coincidencia es exitosa, se utilizarán targetAccount
y methodAccount
definidas en la regla y, al confirmar si la transacción es un ingreso o un gasto, se determinará la relación positiva y negativa entre targetAccount
y methodAccount
para anular la cuenta de aumento o disminución definida predeterminada. .
La relación de cuenta entre targetAccount
y methodAccount
es la siguiente:
Ingresos/Gastos | Clasificación de transacciones | menosCuenta | plusCuenta |
---|---|---|---|
ingreso | * | cuentaobjetivo | métodoCuenta |
ingreso | Reembolso | cuentaobjetivo | métodoCuenta |
gasto | * | métodoCuenta | cuentaobjetivo |
otro | * | métodoCuenta | cuentaobjetivo |
otro | Reembolso | cuentaobjetivo | métodoCuenta |
Cuando el tipo de transacción es "Otro", usted mismo deberá definir manualmente la cuenta del préstamo. En este momento, el software pensará
methodAccount
es una cuenta de crédito ytargetAccount
es una cuenta de débito.
defaultMinusAccount : Assets:FIXME
defaultPlusAccount : Expenses:FIXME
defaultCommissionAccount : Expenses:Commission:FIXME
defaultCurrency : CNY
title : 测试
wechat :
rules :
# type (additional condition)
- type : 收入 # 微信红包
method : /
item : /
targetAccount : Income:Wechat:RedPacket
- type : / # 转入零钱通
txType : 转入零钱
peer : /
item : /
targetAccount : Assets:Digital:Wechat:Cash
- type : / # 零钱提现
txType : 零钱提现
targetAccount : Assets:Digital:Wechat:Cash
commissionAccount : Expenses:Wechat:Commission
- type : / # 零钱充值
txType : 零钱充值
targetAccount : Assets:Digital:Wechat:Cash
- type : / # 零钱通转出-到工商银行(9876)
txType : 零钱通转出-到工商银行(9876)
targetAccount : Assets:Bank:CN:ICBC:Savings
- peer : 云膳过桥米线,餐厅
sep : ' , '
time : 11:00-15:00
targetAccount : Expenses:Food:Meal:Lunch
- peer : 云膳过桥米线,餐厅
sep : ' , '
time : 16:30-21:30
targetAccount : Expenses:Food:Meal:Dinner
- peer : 餐厅
time : 23:55-00:10 # test T+1
targetAccount : Expenses:Food:Meal:MidNight
- peer : 餐厅
time : 23:50-00:05 # test T-1
targetAccount : Expenses:Food:Meal:MidNight
- peer : 房东
type : 支出
targetAccount : Expenses:Housing:Rent
- peer : 用户
type : 收入
targetAccount : Income:Service
- peer : 理财通
type : /
targetAccount : Assets:Trade:Tencent:LiCaiTong
- peer : 建设银行
txType : 信用卡还款
targetAccount : Liabilities:Bank:CN:CCB
- method : / # 一般为收入,存入零钱
methodAccount : Assets:Digital:Wechat:Cash
- method : 零钱
fullMatch : true
methodAccount : Assets:Digital:Wechat:Cash
- method : 零钱通
fullMatch : true
methodAccount : Assets:Digital:Wechat:Cash
- method : 工商银行
methodAccount : Assets:Bank:CN:ICBC:Savings
- method : 中国银行
methodAccount : Assets:Bank:CN:BOC:Savings
defaultMinusAccount
, defaultPlusAccount
y defaultCurrency
son valores predeterminados requeridos globales. Entre ellos, defaultMinusAccount
es la cuenta con el monto predeterminado reducido defaultPlusAccount
es la cuenta con el monto predeterminado aumentado. defaultCurrency
es la moneda predeterminada.
defaultCommissionAccount
es la cuenta de tarifa de servicio predeterminada. Si no hay transacciones relacionadas con la tarifa de servicio, no es necesario completarla. Sin embargo, el autor aún recomienda completar una cuenta FIXME de marcador de posición; de lo contrario, el convertidor saldrá con un error al encontrar una transacción con una tarifa de servicio.
wechat
es la configuración específica del proveedor. El proveedor de WeChat tiene un mecanismo de coincidencia de reglas.
wechat
es una configuración relacionada con WeChat. Proporciona coincidencia basada en reglas. Puedes especificar:
peer
(contraparte).item
(nombre del artículo).type
(recibo/gasto).txType
(tipo de transacción).method
(método de pago).time
(tiempo de negociación).El tiempo de negociación se puede escribir de las dos formas siguientes:
11:00-13:00
11:00:00-13:00:00
Reloj de 24 horas, la hora de inicio y la hora de finalización están separadas por-
.
minPrice
(cantidad mínima) y maxPrice
(cantidad máxima).Puede utilizar el separador (sep) para completar varias palabras clave en una sola regla. En el mismo objeto, existe una relación OR entre cada palabra clave.
Puede usar fullMatch
para establecer reglas de coincidencia de caracteres en una sola regla. true
significa usar coincidencia completa, false
significa usar coincidencia parcial. Si este elemento no está configurado, se usará la coincidencia inclusiva de forma predeterminada.
En una sola regla, puede usar tag
para establecer la etiqueta de la canalización y usar sep
como separador.
Puede usar ignore
en una sola regla para establecer si ignorar las transacciones que coinciden con la regla. true
significa ignorar las transacciones que coinciden con la regla, fasle
significa no ignorar y el valor predeterminado es false
.
Si la coincidencia es exitosa, targetAccount
, methodAccount
y otras cuentas definidas en la regla se utilizarán para sobrescribir la cuenta definida predeterminada.
El orden de coincidencia de reglas es: comenzar a hacer coincidir desde el primer elemento en la configuración rules
y continuar haciendo coincidir si la coincidencia es exitosa. Es decir, la prioridad de las reglas posteriores es mayor que la de las reglas anteriores.
La factura de WeChat proporciona un campo de "método de transacción" para identificar los fondos que ingresan y salen de la cuenta. De esta manera, puede confirmar directamente si la cuenta es un aumento o una disminución a través del "Método de transacción" y el campo "Ingresos/Gastos". El método de contabilidad de partida doble requiere al menos dos cuentas para cada transacción, y la otra cuenta se puede ingresar a través de "peer" (par), "producto" (artículo), "recibo/gasto" (tipo) y "método de transacción". (método) ) se obtiene mediante coincidencias de inclusión múltiples. Si la configuración de Alipay es similar, si la coincidencia es exitosa, se utilizarán targetAccount
y methodAccount
definidas en las reglas y, al confirmar si la transacción es un ingreso o un gasto, se determinará la relación positiva y negativa entre targetAccount
y methodAccount
para anular. la cuenta de aumento o disminución definida por defecto.
La relación de cuenta entre targetAccount
y methodAccount
es la siguiente:
Ingresos/Gastos | menosCuenta | plusCuenta |
---|---|---|
ingreso | cuentaobjetivo | métodoCuenta |
gasto | métodoCuenta | cuentaobjetivo |
defaultCashAccount : Assets:Huobi:Cash
defaultPositionAccount : Assets:Huobi:Positions
defaultCommissionAccount : Expenses:Huobi:Commission
defaultPnlAccount : Income:Huobi:PnL
defaultCurrency : USDT
title : 测试
huobi :
rules :
- item : BTC/USDT,BTC1S/USDT # multiple keywords with separator
type : 买入
txType : 币币交易
fullMatch : true
sep : ' , ' # define separator as a comma
cashAccount : Assets:Rule1:Cash
positionAccount : Assets:Rule1:Positions
CommissionAccount : Expenses:Rule1:Commission
pnlAccount : Income:Rule1:PnL
defaultCashAccount
, defaultPositionAccount
, defaultCommissionAccount
, defaultPnlAccount
y defaultCurrency
son valores predeterminados requeridos globales.
huobi
es la configuración específica del proveedor. El proveedor de Huobi tiene un mecanismo de coincidencia de reglas.
huobi
es la configuración relacionada con Huobi. Proporciona coincidencia basada en reglas. Puedes especificar:
item
(par comercial).type
exacta/inclusiva (dirección comercial).txType
(tipo de transacción).time
(tiempo de negociación).El tiempo de negociación se puede escribir de las dos formas siguientes:
11:00-13:00
11:00:00-13:00:00
Reloj de 24 horas, la hora de inicio y la hora de finalización están separadas por-
.
Puede utilizar el separador (sep) para completar varias palabras clave en una sola regla. En el mismo objeto, existe una relación OR entre cada palabra clave.
Puede usar fullMatch
para establecer reglas de coincidencia de caracteres en una sola regla. true
significa usar coincidencia completa, false
significa usar coincidencia parcial. Si este elemento no está configurado, se usará la coincidencia inclusiva de forma predeterminada.
Puede usar ignore
en una sola regla para establecer si ignorar las transacciones que coinciden con la regla. true
significa ignorar las transacciones que coinciden con la regla, fasle
significa no ignorar y el valor predeterminado es false
.
Si la coincidencia es exitosa, cashAccount
, positionAccount
, commissionAccount
y pnlAccount
definidas en la regla se utilizarán para anular la definición predeterminada.
El orden de coincidencia de reglas es: comenzar a hacer coincidir desde el primer elemento en la configuración rules
y continuar haciendo coincidir si la coincidencia es exitosa. Es decir, la prioridad de las reglas posteriores es mayor que la de las reglas anteriores.
en:
defaultCashAccount
es la cuenta de capital predeterminada, generalmente utilizada para almacenar USDT.defaultPositionAccount
es la cuenta de posición predeterminada.defaultCommissionAccount
es la cuenta de comisión predeterminada.defaultPnlAccount
es la cuenta de pérdidas y ganancias predeterminada.defaultCurrency
es la moneda predeterminada. defaultCashAccount : Assets:Htsec:Cash
defaultPositionAccount : Assets:Htsec:Positions
defaultCommissionAccount : Expenses:Htsec:Commission
defaultPnlAccount : Income:Htsec:PnL
defaultCurrency : CNY
title : 测试
htsec :
rules :
- item : 兴业转债
type : 卖
sep : ' , '
cashAccount : Assets:Rule1:Cash
positionAccount : Assets:Rule1:Positions
CommissionAccount : Expenses:Rule1:Commission
pnlAccount : Income:Rule1:PnL
defaultCashAccount
, defaultPositionAccount
, defaultCommissionAccount
, defaultPnlAccount
y defaultCurrency
son valores predeterminados requeridos globales.
htsec
es la configuración específica del proveedor. El proveedor Htsec tiene un mecanismo de coincidencia de reglas.
htsec
es una configuración relacionada con Haitong Securities. Proporciona coincidencia basada en reglas. Puedes especificar:
item
(dirección de negociación-código de valores-capitalización de mercado de valores).type
exacta/inclusiva (dirección comercial).time
(tiempo de negociación).El tiempo de negociación se puede escribir de las dos formas siguientes:
11:00-13:00
11:00:00-13:00:00
> Reloj de 24 horas, utilice-
para separar la hora de inicio y la hora de finalización.
Puede utilizar el separador (sep) para completar varias palabras clave en una sola regla. En el mismo objeto, existe una relación OR entre cada palabra clave.
Puede usar fullMatch
para establecer reglas de coincidencia de caracteres en una sola regla. true
significa usar coincidencia completa, false
significa usar coincidencia parcial. Si este elemento no está configurado, se usará la coincidencia inclusiva de forma predeterminada.
Puede usar ignore
en una sola regla para establecer si ignorar las transacciones que coinciden con la regla. true
significa ignorar las transacciones que coinciden con la regla, fasle
significa no ignorar y el valor predeterminado es false
.
Si la coincidencia es exitosa, cashAccount
, positionAccount
, commissionAccount
y pnlAccount
definidas en la regla se utilizarán para anular la definición predeterminada.
El orden de coincidencia de reglas es: comenzar a hacer coincidir desde el primer elemento en la configuración rules
y continuar haciendo coincidir si la coincidencia es exitosa. Es decir, la prioridad de las reglas posteriores es mayor que la de las reglas anteriores.
en:
defaultCashAccount
es la cuenta de capital predeterminada, generalmente utilizada para almacenar fondos disponibles en cuentas de valores.defaultPositionAccount
es la cuenta de posición predeterminada.defaultCommissionAccount
es la cuenta de comisión predeterminada.defaultPnlAccount
es la cuenta de pérdidas y ganancias predeterminada.defaultCurrency
es la moneda predeterminada. defaultMinusAccount : Assets:FIXME
defaultPlusAccount : Expenses:FIXME
defaultCashAccount : Liabilities:Bank:CN:ICBC
defaultCurrency : CNY
title : 测试
icbc :
rules :
- peer : 财付通,支付宝
ignore : true
- peer : 广东联合电子收费股份
targetAccount : Expenses:Transport:Highway
- txType : 人民币自动转帐还款
targetAccount : Assets:Bank:CN:ICBC:Savings
- peer : XX旗舰店
targetAccount : Expenses:Joy
defaultMinusAccount
, defaultPlusAccount
, defaultCashAccount
y defaultCurrency
son valores predeterminados requeridos globales. Entre ellas, defaultMinusAccount
es la cuenta con el monto predeterminado reducido, defaultPlusAccount
es la cuenta con el monto predeterminado aumentado defaultCashAccount
es la cuenta de tarjeta bancaria utilizada de manera predeterminada en esta configuración (equivalente a methodAccount
en Alipay/WeChat). defaultCurrency
es la moneda predeterminada.
icbc
es la configuración relacionada con el Banco Industrial y Comercial de China. Proporciona coincidencia basada en reglas. Puedes especificar:
peer
(contraparte).type
(recibo/gasto).txType
(tipo de transacción). En una sola regla, puede usar el separador sep
para completar varias palabras clave. En el mismo objeto, existe una relación OR entre cada palabra clave.
Puede usar fullMatch
para establecer reglas de coincidencia de caracteres en una sola regla. true
significa usar coincidencia completa, false
significa usar coincidencia parcial. Si este elemento no está configurado, se usará la coincidencia inclusiva de forma predeterminada.
En una sola regla, puede usar tag
para establecer la etiqueta de la canalización y usar sep
como separador.
Puede usar ignore
en una sola regla para establecer si ignorar las transacciones que coinciden con la regla. true
significa ignorar las transacciones que coinciden con la regla, fasle
significa no ignorar y el valor predeterminado es false
.
Si la coincidencia es exitosa, la cuenta targetAccount
definida en la regla se usará para sobrescribir la cuenta definida predeterminada.
El orden de coincidencia de reglas es: comenzar a hacer coincidir desde el primer elemento en la configuración rules
y continuar haciendo coincidir si la coincidencia es exitosa. Es decir, la prioridad de las reglas posteriores es mayor que la de las reglas anteriores.
El monto registrado en el extracto del ICBC se divide en ingresos/gastos. A través de este mecanismo, se puede juzgar la relación positiva y negativa entre la cuenta de la tarjeta bancaria en la transacción. Si la configuración de Alipay es similar, si la coincidencia es exitosa, se utilizará targetAccount
y el valor global defaultCashAccount
definidos en la regla, y al confirmar si la transacción es ingreso o gasto, se determinará la relación positiva y negativa entre targetAccount
y defaultCashAccount
para anular la cuenta de aumento o disminución definida predeterminada.
La relación de cuenta entre targetAccount
y defaultCashAccount
es la siguiente:
Ingresos/Gastos | menosCuenta | plusCuenta |
---|---|---|
ingreso | cuentaobjetivo | cuenta de efectivo predeterminada |
gasto | cuenta de efectivo predeterminada | cuentaobjetivo |
defaultMinusAccount : Assets:FIXME
defaultPlusAccount : Expenses:FIXME
defaultCashAccount : Assets:DebitCard:TDChequing
defaultCurrency : CAD
title : 测试
td :
rules :
- item : " T T "
targetAccount : Expenses:Grocery
tag : tt_tag
- item : " DOLLARAMA "
targetAccount : Expenses:Grocery
tag : grocery_tag1,cheap_tag2
- item : " DEVELOPM MSP "
targetAccount : Income:Salary
- type : 收入
item : " SEND E-TFR "
targetAccount : Income:FIXME
defaultMinusAccount
, defaultPlusAccount
, defaultCashAccount
y defaultCurrency
son valores predeterminados requeridos globales. Entre ellas, defaultMinusAccount
es la cuenta con el monto predeterminado reducido, defaultPlusAccount
es la cuenta con el monto predeterminado aumentado defaultCashAccount
es la cuenta de tarjeta bancaria utilizada de manera predeterminada en esta configuración (equivalente a methodAccount
en Alipay/WeChat). defaultCurrency
es la moneda predeterminada.
td
es una configuración relacionada con Toronto-Dominion Bank. Proporciona coincidencia basada en reglas. Debido a que el propio proyecto de ley de TD es relativamente simple, no se pueden especificar muchas reglas:
item
: (artículo comercial).type
: Coincidencia exacta/inclusiva de (recibo/gasto). En una sola regla, puede usar el separador sep
para completar varias palabras clave. En el mismo objeto, existe una relación OR entre cada palabra clave.
Puede usar fullMatch
para establecer reglas de coincidencia de caracteres en una sola regla. true
significa usar coincidencia completa, false
significa usar coincidencia parcial. Si este elemento no está configurado, se usará la coincidencia inclusiva de forma predeterminada.
En una sola regla, puede usar tag
para configurar la etiqueta Beancount o la metaetiqueta del libro mayor de la canalización y usar sep
como separador.
Puede usar ignore
en una sola regla para establecer si ignorar las transacciones que coinciden con la regla. true
significa ignorar las transacciones que coinciden con la regla, fasle
significa no ignorar y el valor predeterminado es false
.
Si la coincidencia es exitosa, la cuenta targetAccount
definida en la regla se usará para sobrescribir la cuenta definida predeterminada.
El orden de coincidencia de reglas es: comenzar a hacer coincidir desde el primer elemento en la configuración rules
y continuar haciendo coincidir si la coincidencia es exitosa. Es decir, la prioridad de las reglas posteriores es mayor que la de las reglas anteriores.
El monto registrado en la factura TD se divide en ingresos/gastos. A través de este mecanismo, se puede juzgar la relación positiva y negativa entre la cuenta de la tarjeta bancaria en la transacción. Si la configuración de Alipay es similar, si la coincidencia es exitosa, se utilizará targetAccount
y el valor global defaultCashAccount
definidos en la regla, y al confirmar si la transacción es ingreso o gasto, se determinará la relación positiva y negativa entre targetAccount
y defaultCashAccount
para anular la cuenta de aumento o disminución definida predeterminada.
La relación de cuenta entre targetAccount
y defaultCashAccount
es la siguiente:
Ingresos/Gastos | menosCuenta | plusCuenta |
---|---|---|
ingreso | cuentaobjetivo | cuenta de efectivo predeterminada |
gasto | cuenta de efectivo predeterminada | cuentaobjetivo |
defaultMinusAccount : Assets:FIXME
defaultPlusAccount : Expenses:FIXME
defaultCashAccount : Assets:DebitCard:BMOChequing
defaultCurrency : CAD
title : 测试
bmo :
rules :
- item : " T T "
targetAccount : Expenses:Grocery
tag : tt_tag
- item : " DOLLARAMA "
targetAccount : Expenses:Grocery
tag : grocery_tag1,cheap_tag2
- item : " DEVELOPM MSP "
targetAccount : Income:Salary
- type : 收入
item : " SEND E-TFR "
targetAccount : Income:FIXME
defaultMinusAccount
, defaultPlusAccount
, defaultCashAccount
y defaultCurrency
son valores predeterminados requeridos globales. Entre ellas, defaultMinusAccount
es la cuenta con el monto predeterminado reducido, defaultPlusAccount
es la cuenta con el monto predeterminado aumentado defaultCashAccount
es la cuenta de tarjeta bancaria utilizada de manera predeterminada en esta configuración (equivalente a methodAccount
en Alipay/WeChat). defaultCurrency
es la moneda predeterminada.
bmo
es una configuración relacionada con Toronto-Dominion Bank. Proporciona coincidencia basada en reglas. Debido a que la facturación propia de BMO es relativamente simple, no se pueden especificar muchas reglas:
item
: (artículo comercial).type
: Coincidencia exacta/inclusiva de (recibo/gasto). En una sola regla, puede usar el separador sep
para completar varias palabras clave. En el mismo objeto, existe una relación OR entre cada palabra clave.
Puede usar fullMatch
para establecer reglas de coincidencia de caracteres en una sola regla. true
significa usar coincidencia completa, false
significa usar coincidencia parcial. Si este elemento no está configurado, se usará la coincidencia inclusiva de forma predeterminada.
En una sola regla, puede usar tag
para configurar la etiqueta Beancount o la metaetiqueta del libro mayor de la canalización y usar sep
como separador.
Puede usar ignore
en una sola regla para establecer si ignorar las transacciones que coinciden con la regla. true
significa ignorar las transacciones que coinciden con la regla, fasle
significa no ignorar y el valor predeterminado es false
.
Si la coincidencia es exitosa, la cuenta targetAccount
definida en la regla se usará para sobrescribir la cuenta definida predeterminada.
El orden de coincidencia de reglas es: comenzar a hacer coincidir desde el primer elemento en la configuración rules
y continuar haciendo coincidir si la coincidencia es exitosa. Es decir, la prioridad de las reglas posteriores es mayor que la de las reglas anteriores.
El monto registrado en la factura de BMO se divide en ingresos/gastos. A través de este mecanismo, se puede juzgar la relación positiva y negativa entre la cuenta de la tarjeta bancaria en la transacción. Si la configuración de Alipay es similar, si la coincidencia es exitosa, se utilizará targetAccount
y el valor global defaultCashAccount
definidos en la regla, y al confirmar si la transacción es ingreso o gasto, se determinará la relación positiva y negativa entre targetAccount
y defaultCashAccount
para anular la cuenta de aumento o disminución definida predeterminada.
La relación de cuenta entre targetAccount
y defaultCashAccount
es la siguiente:
Ingresos/Gastos | menosCuenta | plusCuenta |
---|---|---|
ingreso | cuentaobjetivo | cuenta de efectivo predeterminada |
gasto | cuenta de efectivo predeterminada | cuentaobjetivo |
defaultMinusAccount : Assets:FIXME
defaultPlusAccount : Expenses:FIXME
defaultCurrency : CNY
title : 测试
jd :
rules :
- method : 京东白条
methodAccount : Liabilities:Baitiao
- method : 小金库零用钱
methodAccount : Assets:EPay:JD
- item : 椰子
targetAccount : Expenses:Food
- item : 京东小金库-转入
peer : 京东金融
targetAccount : Assets:EPay:JD
- category : 美妆个护
targetAccount : Expenses:MakeUp
- item : "食品酒饮"
targetAccount : Assets:Food
- peer : 亲密卡
targetAccount : Expenses:Prpaid
- item : 白条,还款
targetAccount : Liabilities:Baitiao
- item : 京东小金库收益
fullMatch : true
targetAccount : Income:PnL:JD
methodAccount : Assets:EPay:JD
El formato de las facturas de JD.com es generalmente similar al de Alipay.
Cuando la categoría de transacción de la factura de JD.com不计收支
, el procesamiento de la cuenta se divide en dos situaciones:
Situación general:收/付款方式
(es decir, el campo coincidente por method
) es generalmente la cuenta de gastos, y交易分类
(es decir, el campo coincidente por category
) es generalmente la cuenta de ingresos. Por ejemplo, cuando los fondos de la tarjeta bancaria se transfieren a la bóveda pequeña de Jingdong,收/付款方式
es tarjeta bancaria y la交易分类
se clasifica como bóveda pequeña; cuando se reembolsa dinero desde un billete blanco,收/付款方式
es tarjeta bancaria o pequeña; dinero de bolsillo de la bóveda, y交易分类
como billete blanco.
Caso especial: Cuando el prefijo de交易说明
(es decir, el campo que coincide con item
) está冻结-
-o解冻-
es un caso especial en el que不计收支
. En el caso de冻结-
,收/付款方式
es la cuenta de gastos; en el caso de解冻-
收/付款方式
es la cuenta de ingresos pero el monto es 0. Actualmente, se ignorarán todas las transacciones relacionadas con冻结
y解冻
.
La relación de cuenta entre targetAccount
y methodAccount
es la siguiente:
Ingresos/Gastos | menosCuenta | plusCuenta |
---|---|---|
ingreso | cuentaobjetivo | métodoCuenta |
gasto | métodoCuenta | cuentaobjetivo |
Independientemente de los ingresos y gastos | métodoCuenta | cuentaobjetivo |