1个不稳定版本
0.1.0 | 2024年8月1日 |
---|
在 财务 类别中排名 9
每月下载 113 次
140KB
3K SLoC
lola-sumup
命令行界面用于评估每月的SumUp CSV提取并提取LoLa特定的报告。
摘要
命令行应用程序 lola-sumup
有两个子命令:prepare
和 export
。
prepare
子命令解析两个包含月度数据的SumUp提取,创建一个中间文件,结合两个报告的数据,并增加了三个列 Topic
、Owner
和 Purpose
。用户可以编辑这三个列的内容,因为简单的启发式方法可能无法直接正确处理。
(可能已编辑的)中间文件被第二个 export
步骤消耗。它从中间文件生成三个不同的导出,用于LoLa每月结算过程中的不同目的。
版本
SumUp销售报告的格式已更改。lola-sumup已以不兼容的方式进行了调整。
版本 | Sumup-exports |
---|---|
0.1.0 | 至2024年4月 |
0.2.0 | 截至2024年5月 |
命令行界面
lola-sumup
命令有两个子命令
A cli program to create exports from sumup transactions exported in CSV format
Usage: lola-sumup <COMMAND>
Commands:
prepare Prepares an enriched intermediate file from the original sumup sales report CSV and transaction report CSV
export Consumes the (potentially redacted) intermediate file and exports to different special purpose CSV files
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
准备步骤
lola-sumup prepare
命令的工作原理如下
Prepares an enriched intermediate file from the original sumup sales report CSV and transaction report CSV
Usage: lola-sumup prepare --sales-report <SALES_REPORT> --transaction-report <TRANSACTION_REPORT> <MONTH>
Arguments:
<MONTH> the month for which transactions are to be processed (<yyyymm>, e.g. 202305)
Options:
-s, --sales-report <SALES_REPORT> the sales-report to process
-t, --transaction-report <TRANSACTION_REPORT> the transaction-report to process
-h, --help Print help
-V, --version Print version
它生成一个名为例如 intermediate_202305_20230603142215.csv
的文件,其中 202305
是处理过的月份,时间戳指示处理时间(2023年6月3日 14:22:15)。
手动编辑现有交易
文件的最后四列使用合理的启发式方法预先填写。尽管导出的值可能是正确的,但也可能需要编辑。如果修改,请确保满足某些约束,否则在导出步骤中进一步处理将失败。
可能被修改的四个列是
Topic
:交易的主要主题,以下之一MiTi
:Mittagstisch销售的商品。如果在14:15之前发生交易,则自动分配。Cafe
:LoLa Café销售的商品。如果在14:15和18:00之间发生交易,则自动分配。Verm
:由房间租客出售的商品。如果交易发生在18:00之后,则会自动分配。SoFe
:在夏季派对("Sommer-Fest")期间出售的商品。Deposit
:钥匙押金。Rental
:租金。Culture
:在文化活动中出售的商品。PaidOut
:以现金支付给外部方的收入。Packaging
:出售可重复使用的餐具包装。
Owner
:仅对主题MiTi
相关:MiTi
(用于由Mittagstisch生产和销售的菜单)或LoLa
(Mittagstisch销售的LoLa饮料和食品)Purpose
:Consumption
或Tip
(前者也用于主题Deposit
、Rental
、Culture
或PaidOut
)Comment
:空白,可以手动填写以保留一些上下文
添加人工交易以记录未输入SumUp的现金支付
也可以添加行来记录未输入SumUp系统的交易。
如果您这样做,请确保某些字段填写正确,某些字段留空。例如。
Account
:提供一封电子邮件地址,清楚地标识创建“人工”交易的人日期
Time
:最佳猜测Type
:“销售”Transaction ID
:留空Receipt Number
:留空 - 除非您确实有收据Payment Method
:Cash
(因为SumUp交易中永远不会缺少卡片)Quantity
:最佳猜测Description
:尽力而为 - 理想情况下复制现有的描述以保持精确Currency
:“CHF”Price (Gross)
:支付的金额Price (Net)
:Price (Gross)
中的先前值的副本Tax
:留空Tax rate
:留空Transaction refunded
:留空Commission
:0(这是一笔现金支付)Topic
:参见上面的主题列表Owner
:如果主题不是MiTi
则留空。MiTi
或LoLa
如果主题是MiTi
Purpose
:除非是小费,否则可能是Consumption
Comment
:提供一些参考资料,以便在稍后的审计中了解为什么该交易是人为创建的(例如,参考电子邮件)
手动编辑的限制
对于所有项目(现有的SumUp交易和人为添加的交易),必须满足以下条件:
Topic
和Purpose
包含有效值Owner
包含有效值或为空- 对于主题
MiTi
:Owner
必须是MiTi
或LoLa
- 对于非
MiTi
的主题:Owner
必须为空
导出步骤
执行 lola-sumup export
命令
Consumes the (potentially redacted) intermediate file and exports to different special purpose CSV files
Usage: lola-sumup export <INTERMEDIATE_FILE>
Arguments:
<INTERMEDIATE_FILE> the intermediate file to process
Options:
-h, --help Print help
-V, --version Print version
它生成三个导出(相应地带有月份和执行时间戳)
accounting_202305_20230603142503.csv
mittagstisch_202305_20230603142503.csv
summary_202305_20230603142503.csv
导出描述
总结报告
总结文件收集了构建其他报告或进行深入分析所需的所有原始和衍生列。
结果总结文件的列定义如下
- 通用列
Date
:日历日期
- 主题
MiTi
、Cafe
、Verm
的消费毛额(未扣除佣金),按支付方式拆分MiTi_Cash
:Mittagstisch的现金毛收入(包括LoLa饮料)MiTi_Card
:Mittagstisch的信用卡毛收入(包括LoLa饮料)MiTi Total
:Mittagstisch的总毛收入(包括LoLa饮料)[MiTi_Cash
+MiTi_Card
],也是[Gross MiTi (MiTi)
+Gross MiTi (LoLa)
]Cafe_Cash
:Café的现金毛收入Cafe_Card
:Café的信用卡毛收入Cafe Total
:Café的总毛收入[Cafe_Cash
+Cafe_Card
]Verm_Cash
:租赁的现金毛收入Verm_Card
:租赁的信用卡毛收入Verm Total
:租赁的总毛收入[Verm_Cash
+Verm_Card
]SoFe_Cash
:夏日派对的现金毛收入SoFe_Card
:夏日派对的信用卡毛收入SoFe Total
:夏日派对的总毛收入[SoFe_Cash
+SoFe_Card
]Deposit_Cash
:钥匙押金的现金毛收入Deposit_Card
:钥匙押金的信用卡毛收入Deposit Total
:钥匙押金的总毛收入[Deposit_Cash
+Deposit_Card
]Packaging_Cash
:包装押金的现金毛收入Packaging_Card
:包装押金的信用卡毛收入Packaging Total
:包装押金的总毛收入[Packaging_Cash
+Packaging_Card
]Rental_Cash
:租赁支付的现金毛收入Rental_Card
:租赁支付的信用卡毛收入Rental Total
:租赁支付的总毛收入[Rental_Cash
+Rental_Card
]Culture_Cash
:文化的现金毛收入Culture_Card
:文化的信用卡毛收入Culture Total
:文化的总毛收入[Culture_Cash
+Culture_Card
]PaidOut_Cash
:支付的现金毛收入PaidOut_Card
:支付的信用卡毛收入PaidOut Total
:支付的总毛收入[PaidOut_Cash
+PaidOut_Card
]
- 按支付方式报告的消费毛额、小费和总毛额
Gross Cash
:总现金毛收入[MiTi_Cash
+Cafe_Cash
+Verm_Cash
+SoFe_Cash
+Deposit_Cash
+Packaging_Cash
+Rental_Cash
+Culture_Cash
+PaidOut_Cash
]Tips_Cash
:现金小费SumUp Cash
:总现金收入[Gross Cash
+Tips_Cash
]总收入卡
: 总收入卡 [MiTi_Card
+Cafe_Card
+Verm_Card
+SoFe_Card
+Deposit_Card
+Packaging_Card
+Rental_Card
+Culture_Card
+PaidOut_Card
]小费卡
: 小费卡汇总卡
: 总收入卡 [总收入卡
+小费卡
]总收入总额
: 总收入 [总收入现金
+总收入卡
]小费总额
: [小费现金
+小费卡
]汇总总额
: [总收入总额
+小费总额
] 或 [汇总现金
+汇总卡
]
- 卡片相关支付:按主题划分的总值、佣金和净值
总收入卡 MiTi
: 总收入卡 Mittagstisch 收入MiTi_Card
(包括饮料 LoLa)MiTi_Commission
: Mittagstisch 的卡片佣金(菜单和小费,但不包括 LoLa 饮料)Net Card MiTi
: Mittagstisch 的净卡片收入 [总收入卡 MiTi
-MiTi_Commission
] - 从餐费和小费中扣除佣金,饮料销售仍包括在内Gross Card LoLa
: LoLa 的总收入卡收入(咖啡厅,租赁,夏日派对,存款,租赁,文化)[Cafe_Card
+Verm_Card
+SoFe_Card
+Deposit_Card
+Rental_Card
+Culture_Card
+PaidOut_Card
]LoLa_Commission
: LoLa 的卡片佣金(与 Mittagstisch 无关,但包括 MiTi 销售商品的佣金)LoLa_Commission_MiTi
: 只有 MiTi 销售的 LoLa 项目的卡片佣金,因此不包括咖啡厅或租赁Net Card LoLa
: LoLa 的净卡片收入(咖啡厅和租赁)[Gross Card LoLa
-LoLa_Commission
]Gross Card Total
: 总收入卡收入(MiTi,咖啡厅,租赁)[总收入卡 MiTi
+Gross Card LoLa
]Total Commission
: 总卡片佣金(MiTi,咖啡厅,租赁)[MiTi_Commission
+LoLa_Commission
]Net Card Total
: 总净卡片收入 [Gross Card Total
-Total Commission
]Net Payment SumUp MiTi
: 与 Mittagstisch 相关的总净支付 SumUp(关于 Mittagstisch 的卡片支付(餐费、小费、通过卡片支付的 LoLa 商品销售))[MiTi_Card
+MiTi_Tips_Card
-MiTi_Total_Commission
]
- 按主题划分的小费
MiTi_Tips_Cash
: Mittagstisch 现金支付的小费MiTi_Tips_Card
: Mittagstisch 通过卡片支付的小费MiTi_Tips
: Mittagstisch 的小费(总计)[MiTi_Tips_Cash
+MiTi_Tips_Card
]Cafe_Tips
: 咖啡厅的小费Verm_Tips
: 租赁的小费
- Mittagstisch 的主题按所有者划分的拆分
Gross MiTi (MiTi)
: Mittagstisch 的总收入(来自他们自己的菜单,通过卡片或现金支付)毛收入 MiTi (LoLa)
:毛收入 Mittagstisch,包含 LoLa 项目(饮料等)(通过卡或现金支付)毛收入 MiTi (MiTi) 卡
:来自自身菜单的毛收入 Mittagstisch(仅通过卡支付)(不包括小费)净收入 MiTi (MiTi) 卡
:无佣金支付的净收入 Mittagstisch 菜单[毛收入 MiTi (MiTi) 卡
-MiTi_Commission
]净收入 MiTi (LoLa)
:净总收入 Mittagstisch,包含 LoLa 项目,无佣金[毛收入 MiTi (LoLa)
-LoLa_Commission_MiTi
]MiTi 分成
:出售 LoLa 项目的 MiTi 分成[20% *净收入 MiTi (LoLa)
]净收入 MiTi (LoLA) - LoLa 分成
:净总收入 Mittagstisch,包含 LoLa 项目,无佣金,减去 LoLa 分成[净收入 MiTi (LoLa)
* 0.8]LoLa 赞助减免
:LoLa 赞助的减免[2 * (MealCount_Reduced
+MealCount_Regular
)]欠 MiTi 的债务
:LoLa 需要支付给 Mittagstisch 的净额[Net Payment SumUp MiTi
-净收入 MiTi (LoLA) - LoLa 分成
+LoLa 赞助减免
]LoLa 从 MiTi 获得的收入
:从 MiTi 出售 LoLa 获得的 LoLa 收入[毛收入 MiTi (LoLa)
-MiTi 分成
]
- 与 Mittagstisch 相关的统计数据
MealCount_Regular
:每天的正餐数量MealCount_Reduced
:每天由 LoLa 赞助的减免餐数量MealCount_Regular
:每天由 LoLA 赞助的 stagaire 餐数量MealCount_Children
:每天儿童餐数量
Mittagstisch 报告
Mittagstisch 导出的目的是向 Mittagstisch 团队提供相关的财务信息。
结果文件中的列定义如下
- 通用列
Datum
:Date
- 菜单数量
Hauptgang
:每天的正餐数量MealCount_Regular
Reduziert
:每天的常规餐数量 [MealCount_Reduced
+MealCount_Praktikum
]Kind
:每天的儿童餐数量MealCount_Children
- 按所有权收入(MiTi 或 LoLa)
Küche
:菜单的毛收入 [毛收入 MiTi (MiTi)
]Total Bar
:出售 LoLa 项目(酒吧)的毛收入 [毛收入 MiTi (LoLa)
]Anteil LoLa
:LoLa 从 MiTi 出售 LoLa 项目的毛收入Anteil MiTi
:MiTi 从出售 LoLa 项目的毛收入
- 按支付方式汇总,区分收入和小费
Einnahmen barz.
:现金支付的收入和小费[MiTi_Cash
+MiTi_Tips_Cash
]davon TG barz.
:现金支付的小费总额MiTi_Tips_Cash
Einnahmen Karte
:刷卡支付的收入和小费[MiTi_Card
+MiTi_Tips_Card
]davon TG Karte
:刷卡支付的小费总额MiTi_Tips_Card
Total Einnahmen (oT)
:总支付额(现金+刷卡-不含小费)[MiTi Total
]
- 净总额
Kommission Bar
:LoLa支付的佣金LoLa_Commission_MiTi
Netto Bar
:销售LoLa商品的净收入[Total Bar
-Kommission Bar
]Karte MiTi
:刷卡支付的菜单收入(不含小费)[Gross MiTi (MiTi) Card
]Kommission MiTi
:对Gross Card MiTi
的佣金(包括小费的佣金)MiTi_Commission
Netto Karte MiTi
:刷卡支付的菜单净收入[Net MiTi (MiTi) Card
]
- 与LoLa的结算
Net Total Karte
:与Mittagstisch相关的净刷卡支付(包括餐费、小费、通过刷卡支付的LoLa商品销售)[Net Paymnet SumUp MiTi
]Verkauf LoLa (80%)
80%的净LoLa商品销售额[-Net MiTi (LoLA) - Share LoLa
]Gesponsort
LoLa赞助的减免(每餐2.00欧元)[Sponsored Reductions
]Überweisung
:LoLa支付给Mittagstisch的净款[Debt to MiTi
]
会计报告
会计导出的目的是向会计人员提供月度水平的相关信息。
生成的会计.csv文件中的列定义如下
Date
:Date
Payment SumUp
:总净收入加上通过刷卡支付的小费。SumUp的每日支付(下一个工作日)[Net Card Total
+Tips_Card
]。将被记录为10110/10920
,但基于账户对账单,而不是此报告。Total Cash Debit
:每日现金借方总额[Gross Cash
-MiTi_Cash
-PaidOut Total
]Total Card Debit
:每日刷卡借方总额[Gross_Card_LoLa
+Tips_Card
-MiTi_Tips_Card
]10000/23050
:总现金收入关键存款Deposit_Cash
10000/30200
:咖啡馆总收入Cafe_Cash
10000/30700
:食品租赁总收入Verm_Cash
(租赁者销售的LoLa食品)10000/30800
:夏日派对总收入SoFe_Cash
(夏日派对期间销售的LoLa食品)10000/31000
:租赁费总收入Rental_Cash
(租赁房间费用)10000/32000
:文化支付总收入Culture_Cash
10000/46000
:材料成本降低总收入Packaging_Cash
10920/10000
:外部方现金支付总金额PaidOut_Card
10920/23050
:现金支付押金总金额Deposit_Card
10920/30200
:咖啡馆现金支付总金额Cafe_Card
10920/30700
:租赁现金支付总金额Verm_Card
(租赁者销售的LoLa食品)10920/30800
:夏日派对现金支付总金额SoFe_Card
(夏日派对期间销售的LoLa食品)10920/31000
:租赁费现金支付总金额Rental_Card
(租赁房间费用)10920/32000
:文化支付现金支付总金额Culture_Card
10920/46000
:材料成本降低现金支付总金额Packaging_Card
10920/20051
:网卡收入+小费(卡片)午餐桌[Net Card MiTi
+MiTi_Tips_Card
]10920/10910
:通过卡片支付的LoLa小费[Tips_Card
-MiTi_Tips_Card
]68450/10920
:咖啡、租赁、夏日派对、押金、租赁、文化支付和PaidOut
的佣金,即不含午餐桌[Commission LoLa
]59991/20051
:LoLa赞助的减免(Sponsored Reductions
)20051/10930
:LoLa欠午餐桌的金额(Debt to MiTi
)20051/30500
:LoLa从MiTi销售LoLa的收入(Gross MiTi (LoLa)
-Contribution MiTi
=Income LoLa MiTi
)10930/10100
:支付给午餐桌的金额(Debt to MiTi
或20051/10930
) - 根据实际支付日期入账
日期之后的头三列不需要入账。它们用于合并目的
Payment SumUp
必须与银行对账单上显示的每日汇总支付金额相符(这些金额会延迟一天或更久入账到我们的账户)。Total Cash Debit
和Total Card Debit
有助于核对现金账簿(“现金记录”)。请注意,这两列可能会聚合每天现金账簿中的多个条目。
对于临时账户的绝对净总额不得大于0.05,即
- 对于
10920
:abs(10920/30200
+10920/30700
+10920/30800
+10920/23050
+10920/46000
+10920/31000
+10920/32000
+10920/20051
+10920/10000
+10920/10910
-Payment SumUp
-68450/10920
)< 0.05 - 对于
20051
:abs(10920/20051
-20051/10930
-20051/30200
+59991/20051
) < 0.05
依赖项
~30–59MB
~1M SLoC