conversions

This commit is contained in:
Filipriec
2026-08-23 00:05:31 +02:00
parent fa5e873b6f
commit 5f2069784d
7 changed files with 50 additions and 8 deletions

View File

@@ -148,7 +148,7 @@ message PreviewEcbConversionRequest {
message PreviewEcbConversionResponse {
string original_amount = 1;
string original_currency = 2;
string eur_amount = 3;
string converted_amount = 3;
string conversion_basis_date = 4;
string determination_method = 5;
string rounding_method = 6;
@@ -174,6 +174,17 @@ message PreviewEcbConversionResponse {
ExchangeRateDateRule applied_date_rule = 19;
ExchangeRateSource applied_source = 20;
string selection_reason = 21;
// The currency converted_amount is stated in: the profile's accounting
// currency (EUR unless the profile keeps its books in something else).
string converted_currency = 22;
// True when reaching converted_currency needed two hops (original currency
// to EUR, then EUR to converted_currency) because neither is EUR. The
// fields above then describe only the second, final hop; the full
// provenance of both hops is available from ListEcbConversionEvidence
// after posting.
bool via_two_hop_conversion = 23;
}
// Identify one logical money cell whose conversion history should be inspected.
@@ -206,7 +217,7 @@ message EcbConversionEvidence {
int64 row_revision = 2;
string original_amount = 3;
string original_currency = 4;
string eur_amount = 5;
string converted_amount = 5;
string conversion_context = 6;
string conversion_basis_date = 7;
string determination_method = 8;
@@ -232,6 +243,16 @@ message EcbConversionEvidence {
// Immutable audit data for an accountant-controlled exception.
string selection_reason = 23;
optional string selected_by_user_id = 24;
// The currency converted_amount is stated in. Always EUR for the
// original-currency-to-EUR leg; the profile's native currency for the
// EUR-to-native leg that follows it when that native currency is not EUR.
string converted_currency = 25;
// Set only on the EUR-to-native-currency leg of a two-hop conversion. Names
// the original-currency-to-EUR leg's evidence_id, which produced this row's
// original_amount/original_currency (always EUR).
optional int64 derived_from_evidence_id = 26;
}
message ListEcbConversionEvidenceResponse {