Почему сумма должна сохраняться вместе с валютой и типом валюты, как дата и тип курса влияют на перевод и какие ограничения важны для точности и параллельного учёта.
4 мин чтения·База знаний
Ревизия 3Применимость к указанным контекстамЧастичное покрытиеКонтекст: CTX-S4-ONPREMдокументальная опора: недостаточно данных
Справочный материал. Контракты данных, архитектурные решения и ограничения применения. Источники приведены в материалах, где используются внешние основания.
Финансовую сумму нужно читать вместе с кодом валюты и типом валютного представления. В документации SAP S/4HANA On-Premise сказано, что позиции документа в иностранной валюте хранят суммы и в валюте документа, и в локальной валюте. В Universal Journal дополнительные параллельные представления задаются типами валют и переводятся при проводке. Это отличается от перевода суммы в нужную валюту только для отчёта.
При проводке в иностранной валюте SAP S/4HANA On-Premise хранит сумму позиции и в валюте документа, и в локальной валюте company code. Параллельные валюты Universal Journal задаются типами валют. Для каждого сочетания ledger и company code указываются управляемые валюты; настройки типа валюты могут включать код валюты, метод перевода, тип курса, исходную валюту и дату перевода.
Тип валюты и код валюты - не одно и то же. Тип описывает назначение суммы в учётной модели; код указывает саму валюту, например EUR или USD. Две суммы в USD тоже не обязательно взаимозаменяемы: одна может быть валютой исходной операции, другая - результатом перевода с отдельной датой и типом курса.
Что хранить рядом с суммой
Зачем
Код валюты
Задаёт денежную единицу суммы
Тип валюты
Отличает исходную валюту операции от локального, группового и других учётных представлений
Ledger и company code
Определяют, в каком учётном контексте ведётся сумма
Тип курса и дата перевода
Объясняют, каким курсом и на какую дату получено переведённое значение
Основание суммы
Помогает отличить исходную проводку от оценки или последующего перевода
В описанной SAP Help процедуре при вводе даты проводки система подбирает действующий на эту дату курс. Можно задать отдельную дату перевода или указать курс вручную. Если на выбранную дату нет новой записи курса, документация приводит пример использования последней более ранней записи.
Поэтому перевод нельзя воспроизвести только по исходной и целевой валютам. Сохраняйте направление пары, тип курса, дату, источник значения и признак ручного ввода, если такие сведения доступны в источнике. Не подменяйте документальную сумму переведённой суммой и не теряйте исходный курс при повторной оценке.
В настройках SAP S/4HANA On-Premise для валюты задаётся число десятичных знаков; документация отдельно допускает число, отличное от обычных двух. Поэтому нельзя считать, что любая сумма имеет масштаб 100 или что отображаемая строка всегда содержит всю сохранённую точность.
Для аналитического контура фиксируйте валютный масштаб по справочнику валют и не вычисляйте деньги через двоичное число с плавающей точкой. Это рекомендация к проектированию независимой модели данных, а не описание внутреннего алгоритма SAP. Правило округления следует определять отдельно для операции, а не выводить из форматирования экрана.
При проверке разницы сравните сначала валютный тип и единицу измерения, затем курс и дату, и только потом округление. Суммы в разных валютах не складываются напрямую. Суммы разных валютных типов также нельзя объединять, даже если у них совпадает код валюты.
В FI первая FI-валюта всегда является валютой company code. Вторая и третья могут быть глобальной валютой или другой поставляемой SAP и настроенной валютой. SAP Help требует настроить FI-валюты до проводок по company code; после появления проводок изменить их уже нельзя.
Для параллельных валют в Asset Accounting детали зависят от сценария. В рассмотренном SAP Help варианте стоимость приобретения основного средства переводится по историческому курсу исходной проводки; амортизация рассчитывается в соответствующей валюте по условиям области оценки, а не переводится фиксированным курсом. Для отдельного случая периодического создания документа с APC документация описывает перевод на ключевую дату. Источник также указывает, что настройки параллельной валюты должны быть заданы до ввода company code в продуктивную эксплуатацию. Эти правила нельзя переносить на другие сценарии оценки без проверки применимости.
Описанные правила относятся к приведённым страницам SAP Help для S/4HANA On-Premise. Они не подтверждают конфигурацию конкретной системы. Перед изменением валют проверьте продукт, выпуск, затронутые ledger и company code, уже существующие проводки и применимую процедуру изменения.
Проверьте код и тип валюты для каждой сравниваемой суммы.
Уточните ledger, company code и назначение параллельного представления.
Проверьте тип курса, направление перевода, дату и источник курса.
Сверьте число десятичных знаков и правило округления.
Только после этого сравнивайте остатки и разницы.
Материал ограничен указанной документацией SAP S/4HANA On-Premise. Точные валютные типы, курсы и настройки конкретной компании не проверялись; система SAP не запускалась.
Read a financial amount together with its currency code and currency representation type. SAP S/4HANA On-Premise documentation says that foreign-currency document line items store amounts in both document currency and local currency. In the Universal Journal, additional parallel views are configured as currency types and translated during posting. This differs from translating an amount into a desired currency only for report display.
When posting a foreign-currency document, SAP S/4HANA On-Premise stores the line-item amount in both document currency and the local company-code currency. Universal Journal parallel currencies are configured as currency types. The currencies managed are specified for each ledger and company-code combination; settings for a currency type can include the currency code, translation method, rate type, source currency, and translation date.
A currency type and a currency code are different. The type describes the role of an amount in the accounting model; the code identifies the monetary unit, such as EUR or USD. Two USD amounts are not necessarily interchangeable: one may be the source transaction amount, while another may be a translated amount produced under a separate date and rate type.
What to retain with an amount
Why
Currency code
Defines the monetary unit
Currency type
Distinguishes the source transaction from local, group, and other accounting views
Ledger and company code
Define the accounting context of the amount
Rate type and translation date
Explain how and when a translated amount was produced
Amount basis
Helps distinguish an original posting from a valuation or later translation
In the documented SAP Help entry flow, the system can derive a rate valid on the posting date. A separate translation date or a manually entered rate can also be specified. If no newer rate entry exists for the relevant date, the documentation gives an example in which the latest earlier entry is used.
A translation cannot therefore be reproduced from source and target currencies alone. Retain the pair direction, rate type, date, rate source, and whether the rate was entered manually when that information is available. Do not replace the document amount with a translated value or discard the original rate when a later revaluation is performed.
SAP S/4HANA On-Premise currency settings include a number of decimal places that may differ from the usual two. Therefore, do not assume every amount has a scale of 100 or that a displayed string always contains the full stored precision.
For an analytical system, store the currency scale from its currency reference data and avoid binary floating-point arithmetic for money. This is a data-modeling recommendation for an independent analytical system, not a description of SAP's internal algorithm. Specify rounding separately for each operation; do not infer it from screen formatting.
When investigating a difference, compare currency type and unit first, then rate and date, and only then rounding. Amounts in different currencies cannot be added directly. Amounts with different currency types should not be combined merely because their currency codes match.
Parallel currencies, FI settings, and Asset Accounting#
For FI-related components, the first FI currency is the company-code currency. The second and third may be the global currency type or another SAP-delivered currency configured for the leading ledger. SAP Help says to configure FI currencies before company-code postings; once postings exist, FI currencies can no longer be changed.
Asset Accounting details depend on the scenario. In the cited parallel-currency example, asset acquisition values are translated using historical rates from the original posting. Depreciation is calculated in the relevant currency under the depreciation area's terms rather than translated at a fixed rate. For the specific case of periodic APC posting, the documentation describes translation at the key date when the periodic document is created. The source also says to configure parallel currency settings before the company code goes live. Do not generalize these rules to other valuation scenarios without checking applicability.
Verify ledger, company code, and the purpose of the parallel representation.
Check rate type, translation direction, date, and rate source.
Compare decimal precision and the rounding rule.
Only then compare balances and differences.
The statements above are limited to the cited SAP Help pages for S/4HANA On-Premise. They do not establish the configuration of a particular system. Before changing currency settings, check the product, release, affected ledgers and company codes, existing postings, and applicable change procedure. Company configuration and SAP runtime were not inspected.