/
TODO.txt
50 lines (42 loc) · 1.72 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Performance + Efficiency
- read billing items only on a per-customer basis
e.g. by first generating a separate file for each customer from all billing item files
File-Formats
- what's customer.fullName? can we drop it?
- which field values do we need to validate? e.g. email?
- configurable number formats (#,## vs. #.## etc.)
- output vat rate as 0,16 or 16,00?
Architecture
- currently nothing
Code-Quality
- split all ...Parser classes like VatGroupDef/-Parser
- increase jacoco line coverage to 95 and branch coverage to 90
- increase pitest mutationThreshold.set(85) to 95
- consistent naming of interfaces vs. implementations
- getting rid of the """...|"""?
- cleanup VatCalculation (feature envy)
Domain Language
- check field names for "denglisch"
- better name for CustomerVatBase?
- "bill(ing)", "invoic(ing)" etc.
- also check everything for proper domain language
Domain Requirements
- discount tariffs
- RC/Non-RC hint conditions need to be accessible in Velocity templates
val accountBaseForTaxableForeignEuRevenuesReverseCharge: String
get() = "4336" // & RC-text (see below) in invoice Velocity-template
val accountBaseForTaxableForeignEuRevenues: String
get() = "4331" // &Non-RC-Text (see below) in invoice Velocity-template
val accountBaseForTaxableAbroadEuRevenuesReverseCharge: String
get() = "4338"
/**
* Depending on the conditions above, these hints need to be added to the
* Velocity-Template for invoices:
*
* RC-text:
* "Steuerschuldnerschaft des Leistungsempfängers, we apply to reverse charge ..."
* der Text evtl. mit Bedingung ins Velocity-Template
*
* Non-RC-text:
* "Buchungsschlüssel 44, EU-Steuersatz, EU-Land"
*/