View Issue Details

IDProjectCategoryView StatusLast Update
0009139Talermerchant backendpublic2026-01-26 06:52
Reporteravalos Assigned ToResolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status acknowledgedResolutionopen 
Target Versionpost-1.0 
Summary0009139: In contract terms, store tax percent in addition to tax amount
DescriptionWhen storing a product with taxes in the inventory, the merchant API should require a percentage for each amount, so that the inventory staff doesn't have to manually calculate the taxes for every single product, and the wallet apps don't have to manually calculate the percentages (which could be inaccurate if rounding applies). The tax amount returned by the merchant API for every product should be rounded to full cents based on currency specification.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Christian Grothoff

2024-08-28 13:37

manager   ~0023084

I am not sure this is at all what should be done here. Rounding is bad, percentages are bad. Tons of potential for problems with that.
Maybe the SPA could have some automation to help determine taxes for products better, but this here seems like an ad-hoc proposal for a complex problem that requires some deeper understanding.

MarcS

2024-08-28 19:09

developer   ~0023087

On german and austrian bills, there are usually 4 amounts in addition to the overall sum for each VAT value: Tax% (normal VAT 19% (DE) / 20% (AT), reduced VAT 7% (DE) / 10% (AT)), gros (total incl. tax), net (without tax), tax. Thus you often have 9 amounts (2x4 +1) on the bill - and you need them all for your tax declaration.
Tax percentage is only to group the goods: regular 19% / 20% vs reduced 7% / 10%. It is more a label than a value.
And of course the merchant always needs to round to the cent (or rather smallest coin of the currency), since fractions of a cent are not possible in the total even if goods (e.g. fuel or electricity) are sold with fractions per unit.
Thus no problems at all (for the wallets) with tax percentage and tax amounts. We ignore them completely for the payment (just pay the total sum), but we have to show them to the user in the transaction details (receipt).

Issue History

Date ModifiedUsernameFieldChange
2024-08-27 09:56avalosNew Issue
2024-08-27 09:56avalosStatusnew => assigned
2024-08-27 09:56avalosAssigned To => Christian Grothoff
2024-08-27 10:24MarcSSummaryIn contract terms, store tax percent instead of tax amount => In contract terms, store tax percent in addition to tax amount
2024-08-27 10:24MarcSDescription Updated
2024-08-28 13:36Christian GrothoffSeverityminor => feature
2024-08-28 13:37Christian GrothoffAssigned ToChristian Grothoff =>
2024-08-28 13:37Christian GrothoffStatusassigned => acknowledged
2024-08-28 13:37Christian GrothoffNote Added: 0023084
2024-08-28 19:09MarcSNote Added: 0023087
2025-03-22 13:09Christian GrothoffCategorymechant backend => merchant backend
2026-01-26 06:52Christian GrothoffTarget Version => post-1.0