# ISDOC-4.1.2

Source: https://xmlvalid.com/rules/ISDOC-4.1.2

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:LineExtensionAmount]`
- Test: `isdoc:LineExtensionAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:LineExtensionAmountTaxInclusive]`
- Test: `isdoc:LineExtensionAmountTaxInclusiveCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:DepositAmount]`
- Test: `isdoc:DepositAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:TaxableDepositAmount]`
- Test: `isdoc:TaxableDepositAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:TaxInclusiveDepositAmount]`
- Test: `isdoc:TaxInclusiveDepositAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:TaxAmount]`
- Test: `isdoc:TaxAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:TaxableAmount]`
- Test: `isdoc:TaxableAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:TaxInclusiveAmount]`
- Test: `isdoc:TaxInclusiveAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:AlreadyClaimedTaxableAmount]`
- Test: `isdoc:AlreadyClaimedTaxableAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:AlreadyClaimedTaxAmount]`
- Test: `isdoc:AlreadyClaimedTaxAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:AlreadyClaimedTaxInclusiveAmount]`
- Test: `isdoc:AlreadyClaimedTaxInclusiveAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:DifferenceTaxableAmount]`
- Test: `isdoc:DifferenceTaxableAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:DifferenceTaxAmount]`
- Test: `isdoc:DifferenceTaxAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:DifferenceTaxInclusiveAmount]`
- Test: `isdoc:DifferenceTaxInclusiveAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:TaxExclusiveAmount]`
- Test: `isdoc:TaxExclusiveAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:AlreadyClaimedTaxExclusiveAmount]`
- Test: `isdoc:AlreadyClaimedTaxExclusiveAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:DifferenceTaxExclusiveAmount]`
- Test: `isdoc:DifferenceTaxExclusiveAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:PayableRoundingAmount]`
- Test: `isdoc:PayableRoundingAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:PaidDepositsAmount]`
- Test: `isdoc:PaidDepositsAmountCurr`

> Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat všechny elementy s částkami pro cizí měnu tj. ty končící na Curr.

- Level: error
- Rule sets: ISDOC 6.0.2 rules
- Context: `isdoc:Invoice[isdoc:ForeignCurrencyCode]//*[isdoc:PayableAmount]`
- Test: `isdoc:PayableAmountCurr`

In English: A document in a foreign currency must give every amount in the foreign currency as well: when ForeignCurrencyCode is given, each amount needs its counterpart ending in Curr.

## Why it fails

- The document names `ForeignCurrencyCode`, but an amount such as `LineExtensionAmount` or `TaxAmount` has no `LineExtensionAmountCurr` or `TaxAmountCurr` next to it.

## How to fix it

- Give each amount in both currencies, or leave out `ForeignCurrencyCode` when the document is in the local currency only.

Validate a document against these rules: https://xmlvalid.com/validate
