ursjoss / lola-sumup Goto Github PK
View Code? Open in Web Editor NEWCLI to evaluate the monthly sumup CSV file and export useful LoLa reports
License: MIT License
CLI to evaluate the monthly sumup CSV file and export useful LoLa reports
License: MIT License
Extend accoung report with an additional column 10930/10100
. It has the same values as 20051/10930
and has the purpose of using the correct accounts for the payment to Mittagtisch.
10000/30200 [Cafe_Cash]
10000/30700 [Verm_Cash]
10000/23050 [Deposit_Cash]
10000/31X00 [Rental_Cash]
10000/32000 [Culture_Cash]
31X00
with 31000
, as we now only use a consolidated account for rental income23050
.Payment Sumup
after 20051/30500
Total Cash Debit
that should reflect the cash debit in KassendokumentTotal Card Debit
that should reflect the card debit in Kassendokumentusing assert_eq!
when comparing dataframes from polars is quite uncomfortable.
Maybe https://docs.rs/pretty_assertions/latest/pretty_assertions/ could alleviate that to some degree...
test
instead of rstest
for simple testsThis will resolve a few open issues:
Pros:
dd.mm.yyyy
. dd.mm.yy
has to be manually corrected before continuing the processdiff
ing on file level is possible, but once saved as CSV from Excel, next to the data format, also the number format is contorted, e.g. 0.0 is saved as 0, depending on the number format, the digits after the decimal point may even be rounded, what not only obfuscates the diff but may even change the content.Cons:
diff
ing on file level will not be possibleSteps:
prepare
task create an XLSX instead of CSVIf it is cheap to support both CSV and XLSX (with XLSX as default), prefer that.
Gross Card LoLa
-> 10920/30200
Net Card Total MiTi
-> 10920/20051
Tips Card LoLa
-> 10920/10910
Payment SumUp
-> staysCommission LoLa
-> 68450/10920
Debt to MiTi
-> 20051/10900
Income LoLa MiTi
-> 20051/30200
Topic=MiTi & Owner=MiTi & Description startsWith "Hauptgang" && (description endsWith "Praktikum" || descriptio endsWith "Reduziert")
correlate using transaction id
Consider tips payed to MiTi via card in Credit MiTi
Don't silently discard transactions found in the transaction report but not in the sales report.
Adjustment in Accounting report:
Total Gross Payments Paid out to external parties ([PaidOut_Card]
) should not be posted against the cash account ([10920/10000]
) but instead against the transitory account ([10920/10910]
), together with Tips LoLa paid via Card ([Tips_Card - MiTi_Tips_Card]
)
In #55 we introduced a split of the items summarized in Gross Card LoLa
(aliased 10920/30200
) into
Cafe_Card
(aliased still 10920/30200
) andVerm_Card
(aliased 10920/30700
).The newly introduced latter column still captures too much. Postings identified to belong somewhere else are e.g.:
10920/23050
10920/32000
10920/31000
or 10920/31100
-> maybe 10920/31X00
Probably the easiest way of maintaining that would be to have dedicated Topics, which maintain their own accounts to post this into.
Consider only maintaining one other category that indicates to look up the account in the Kassa-Dokument.
Paid out in cash
Adjust FilterExpressionProvider for MitiMealType.
Check for more improvements
allowing to
For some configurations regarding Tips, the only indication of the tipped amount is found in the TransactionReport (Column 'Trinkgeldbetrag'). The Sales Report is missing the additional entry 'Trinkgeld'.
Two examples from the March reports:
We have to consider the tip in such configurations, which also fixes the issue that w/o the tip, the commission is decreased proportionally.
Also, rename and re-sort columns in the summary.
Even though I do not know what you plan to do but I tried some stuff with CSV and:
If you map or filter I found that rayon is the way to go for doing it in parallel.
to handle the Depsit for reusable dishes
Packaging
10000/46000
and 10920/46000
Senioren-Mittagstisch -> MiTi, MiTi
Kinderpasta -> MiTi, MiTi
Also consider for meal-count
especially consider "Kooperationspartner mit eigenem Essensverkauf"
Preparing the intermediate file for a particular month from sales report and transaction report as input, enriching it with the auto-evaluated columns Topic
, Owner
, Purpose
. Will produce output file intermediate_<yyyymm>.csv
(with <yyyymm>
representing the month of transactions).
lola-sumup prepare <yyyymm> --sales-report <file> --transaction-report <file>
or
lola-sumup prepare <yyyymm> -s <file> -t <file>
Consumes a (potentially redacted) copy of the intermediate report and exports different outputs for special purposes.
lola-sumup export -i intermediate_<yyyymm>*.csv
produces:
summary_<yyyymm>_<ts>.csv
accounting_<yyyymm>_<ts>.csv
mittagstisch_<yyyymm>_<ts>.csv
With:
<yyyymm>
the processed month (derived from the file name intermediate_<yyyymm>*.csv
<ts>
timestamp of running the exportSimilar to "Culture", but it will land in a new accounting columns 10000/30800
or 10920/30800
respectively.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are awaiting their schedule. Click on a checkbox to get an update now.
Cargo.toml
clap 4.5.4
serde 1.0.200
chrono 0.4.38
strum 0.26.2
strum_macros 0.26.2
polars 0.40.0
pretty_assertions 1.4.0
rstest 0.21.0
.github/workflows/verify.yml
actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
Swatinem/rust-cache v2
Separe asciidoc documentation for different steps and reports.
Readme to contain minimum.
Fix effect of PaidOut on cash account:
10000/XXXX
new column 10920/10000
with values of PaidOut_Card
10920/10910
should be not contain PaidOut_Card
Gross Cash
- MiTi_Cash
- PaidOut Total
] instead ofGross Cash
- MiTi_Cash
]Payment SumUp
, Total Cash Debit
, Total Card Debit
) up front, right after Date
potentially with a set of Owners for Topic Vermiet
to distinguish the credit account (Vermietung, Key deposit...)
Gross Card LoLa
is Cafe_Card
+ Verm_Card
Cafe_Card
for 10920/30200
Verm_Card
with alias 10920/30700
... knowlingly, that some postings will be wrong in 30700. We need to split further, but that will require the introduction of another abstraction (e.g. new Topics that maintain a dedicated account to use). That will be tackled in a separate ticket.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.