The total amount of the Invoice line (before tax).
値引後の請求書明細行の合計金額(税抜き)。
cbc
urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2ID | Business term | Sem. Card. | Syntax Card. | XPath | |
---|---|---|---|---|---|
(currency id - Invoice currency code) |
1..1 | / Invoice / cac:InvoiceLine / cbc:LineExtensionAmount / @currencyID |
(exists(cac:Price/cbc:BaseQuantity) and
u:slack(xs:decimal(cbc:LineExtensionAmount), xs:decimal(((cbc:InvoicedQuantity|cbc:CreditedQuantity) * (cac:Price/cbc:PriceAmount div cac:Price/cbc:BaseQuantity)) +
sum(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cbc:Amount) -
sum(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cbc:Amount)), 0.02)) or
(
not(
exists(cac:Price/cbc:BaseQuantity)) and
u:slack(xs:decimal(cbc:LineExtensionAmount), xs:decimal(((cbc:InvoicedQuantity|cbc:CreditedQuantity) * cac:Price/cbc:PriceAmount) +
sum(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cbc:Amount) -
sum(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cbc:Amount)), 0.02
)
)
(exists(//cac:InvoiceLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount))))) or
(exists(//cac:CreditNoteLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount))
)
)
)
(exists(//cac:InvoiceLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:Amount))))) or
(exists(//cac:CreditNoteLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:Amount))
)
)
)
(exists(//cac:InvoiceLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount))))) or
(exists(//cac:CreditNoteLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount))
)
)
)
(exists(//cac:InvoiceLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount))))) or
(exists(//cac:CreditNoteLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount))
)
)
)
(exists(//cac:InvoiceLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount))))) or
(exists(//cac:CreditNoteLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount))
)
)
)
every $rate in xs:decimal(cbc:Percent) satisfies
(((exists(//cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID) =
'S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]) or
exists(//cac:AllowanceCharge[cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate])) and
(u:slack(../xs:decimal(cbc:TaxableAmount), sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='S'][cac:Item/ cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)),0.02))) or
(
(exists(//cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID) =
'S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]) or
exists(//cac:AllowanceCharge[cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate])) and
(u:slack(../xs:decimal(cbc:TaxableAmount), sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)),0.02)
)
)
)
(exists(//cac:InvoiceLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:Amount))))) or
(exists(//cac:CreditNoteLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:Amount))
)
)
)
exists(cbc:LineExtensionAmount)
(
xs:decimal(cbc:LineExtensionAmount) =
(
round(
sum(//(cac:InvoiceLine|cac:CreditNoteLine)/xs:decimal(cbc:LineExtensionAmount)) * 10 * 10) div 100
)
)
(
(cbc:ChargeTotalAmount) and
(cbc:AllowanceTotalAmount) and
(
xs:decimal(cbc:TaxExclusiveAmount) =
round(
(xs:decimal(cbc:LineExtensionAmount) +
xs:decimal(cbc:ChargeTotalAmount) -
xs:decimal(cbc:AllowanceTotalAmount)
) * 10 * 10
) div 100
)
) or
(
not(
cbc:ChargeTotalAmount) and
(cbc:AllowanceTotalAmount) and
(
xs:decimal(cbc:TaxExclusiveAmount) =
round(
(xs:decimal(cbc:LineExtensionAmount) -
xs:decimal(cbc:AllowanceTotalAmount)
) * 10 * 10
) div 100
)
) or
(
(cbc:ChargeTotalAmount) and
not(cbc:AllowanceTotalAmount) and
(
xs:decimal(cbc:TaxExclusiveAmount) =
round(
(xs:decimal(cbc:LineExtensionAmount) +
xs:decimal(cbc:ChargeTotalAmount)
) * 10 * 10
) div 100
)
) or
(
not(
cbc:ChargeTotalAmount) and
not(cbc:AllowanceTotalAmount) and
(
xs:decimal(cbc:TaxExclusiveAmount) =
xs:decimal(cbc:LineExtensionAmount)
)
)
(
(
not(contains(normalize-space(@currencyID), ' ')) and
contains(' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYR BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLL SOS SRD SSP STD SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XOF XPD XPF XPT XSU XTS XUA XXX YER ZAR ZMW ZWL ',
concat(' ', normalize-space(@currencyID), ' ')
)
)
)
exists(cbc:LineExtensionAmount)
(
xs:decimal(cbc:LineExtensionAmount) =
(
round(
sum(//(cac:InvoiceLine|cac:CreditNoteLine)/xs:decimal(cbc:LineExtensionAmount)) * 10 * 10) div 100
)
)
(
(cbc:ChargeTotalAmount) and
(cbc:AllowanceTotalAmount) and
(
xs:decimal(cbc:TaxExclusiveAmount) =
round(
(xs:decimal(cbc:LineExtensionAmount) +
xs:decimal(cbc:ChargeTotalAmount) -
xs:decimal(cbc:AllowanceTotalAmount)
) * 10 * 10
) div 100
)
) or
(
not(
cbc:ChargeTotalAmount) and
(cbc:AllowanceTotalAmount) and
(
xs:decimal(cbc:TaxExclusiveAmount) =
round(
(xs:decimal(cbc:LineExtensionAmount) -
xs:decimal(cbc:AllowanceTotalAmount)
) * 10 * 10
) div 100
)
) or
(
(cbc:ChargeTotalAmount) and
not(cbc:AllowanceTotalAmount) and
(
xs:decimal(cbc:TaxExclusiveAmount) =
round(
(xs:decimal(cbc:LineExtensionAmount) +
xs:decimal(cbc:ChargeTotalAmount)
) * 10 * 10
) div 100
)
) or
(
not(
cbc:ChargeTotalAmount) and
not(cbc:AllowanceTotalAmount) and
(
xs:decimal(cbc:TaxExclusiveAmount) =
xs:decimal(cbc:LineExtensionAmount)
)
)
(
(
not(contains(normalize-space(@currencyID), ' ')) and
contains(' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYR BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLL SOS SRD SSP STD SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XOF XPD XPF XPT XSU XTS XUA XXX YER ZAR ZMW ZWL ',
concat(' ', normalize-space(@currencyID), ' ')
)
)
)
(exists(cac:Price/cbc:BaseQuantity) and
(
(exists(cac:AllowanceCharge[cbc:ChargeIndicator=false()]) and
exists(cac:AllowanceCharge[cbc:ChargeIndicator=true()]) and
(cbc:LineExtensionAmount =
cbc:InvoicedQuantity * (cac:Price/cbc:PriceAmount div cac:Price/cbc:BaseQuantity) +
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cbc:Amount -
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cbc:Amount)) or
(
not(
exists(cac:AllowanceCharge[cbc:ChargeIndicator=false()])) and
exists(cac:AllowanceCharge[cbc:ChargeIndicator=true()]) and
(cbc:LineExtensionAmount =
cbc:InvoicedQuantity * (cac:Price/cbc:PriceAmount div cac:Price/cbc:BaseQuantity) +
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cbc:Amount)) or
(exists(cac:AllowanceCharge[cbc:ChargeIndicator=false()]) and
not(exists(cac:AllowanceCharge[cbc:ChargeIndicator=true()])) and
(cbc:LineExtensionAmount =
cbc:InvoicedQuantity * (cac:Price/cbc:PriceAmount div cac:Price/cbc:BaseQuantity) -
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cbc:Amount)) or
(
not(
exists(cac:AllowanceCharge[cbc:ChargeIndicator=false()])) and
not(exists(cac:AllowanceCharge[cbc:ChargeIndicator=true()])) and
(cbc:LineExtensionAmount =
cbc:InvoicedQuantity * (cac:Price/cbc:PriceAmount div cac:Price/cbc:BaseQuantity))))) or
(
not(
exists(cac:Price/cbc:BaseQuantity)) and
(
(exists(cac:AllowanceCharge[cbc:ChargeIndicator=false()]) and
exists(cac:AllowanceCharge[cbc:ChargeIndicator=true()]) and
(cbc:LineExtensionAmount =
cbc:InvoicedQuantity * cac:Price/cbc:PriceAmount +
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cbc:Amount -
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cbc:Amount)) or
(
not(
exists(cac:AllowanceCharge[cbc:ChargeIndicator=false()])) and
exists(cac:AllowanceCharge[cbc:ChargeIndicator=true()]) and
(cbc:LineExtensionAmount =
cbc:InvoicedQuantity * (cac:Price/cbc:PriceAmount +
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cbc:Amount))) or
(exists(cac:AllowanceCharge[cbc:ChargeIndicator=false()]) and
not(exists(cac:AllowanceCharge[cbc:ChargeIndicator=true()])) and
(cbc:LineExtensionAmount =
cbc:InvoicedQuantity * (cac:Price/cbc:PriceAmount -
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cbc:Amount))) or
(
not(
exists(cac:AllowanceCharge[cbc:ChargeIndicator=false()])) and
not(exists(cac:AllowanceCharge[cbc:ChargeIndicator=true()])) and
(cbc:LineExtensionAmount =
cbc:InvoicedQuantity * (cac:Price/cbc:PriceAmount))
)
)
)
exists(cbc:LineExtensionAmount)
exists(cbc:LineExtensionAmount)
(exists(//cac:InvoiceLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount))))) or
(exists(//cac:CreditNoteLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount))
)
)
)
(
xs:decimal(cbc:LineExtensionAmount) =
xs:decimal(round(sum(//(cac:InvoiceLine|cac:CreditNoteLine)/xs:decimal(cbc:LineExtensionAmount)
) * 10 * 10
) div 100
)
)
(
(cbc:ChargeTotalAmount) and
(cbc:AllowanceTotalAmount) and
(
xs:decimal(cbc:TaxExclusiveAmount) =
round(
(xs:decimal(cbc:LineExtensionAmount) +
xs:decimal(cbc:ChargeTotalAmount) -
xs:decimal(cbc:AllowanceTotalAmount)
) * 10 * 10
) div 100
)
) or
(
not(
cbc:ChargeTotalAmount) and
(cbc:AllowanceTotalAmount) and
(
xs:decimal(cbc:TaxExclusiveAmount) =
round(
(xs:decimal(cbc:LineExtensionAmount) -
xs:decimal(cbc:AllowanceTotalAmount)
) * 10 * 10
) div 100
)
) or
(
(cbc:ChargeTotalAmount) and
not(cbc:AllowanceTotalAmount) and
(
xs:decimal(cbc:TaxExclusiveAmount) =
round(
(xs:decimal(cbc:LineExtensionAmount) +
xs:decimal(cbc:ChargeTotalAmount)
) * 10 * 10
) div 100
)
) or
(
not(
cbc:ChargeTotalAmount) and
not(cbc:AllowanceTotalAmount) and
(
xs:decimal(cbc:TaxExclusiveAmount) =
xs:decimal(cbc:LineExtensionAmount)
)
)
string-length(substring-after(cbc:LineExtensionAmount,'.'))<=2
(exists(//cac:InvoiceLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:Amount))))) or
(exists(//cac:CreditNoteLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:Amount))
)
)
)
(exists(//cac:InvoiceLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount))))) or
(exists(//cac:CreditNoteLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount))
)
)
)
(exists(//cac:InvoiceLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount))))) or
(exists(//cac:CreditNoteLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount))
)
)
)
every $rate in xs:decimal(cbc:Percent) satisfies
((exists(//cac:InvoiceLine) and
(
(../xs:decimal(cbc:TaxableAmount -
1) < (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='L'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)))) and
(../xs:decimal(cbc:TaxableAmount +
1) > (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='L'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)))))) or
(exists(//cac:CreditNoteLine) and
(
(../xs:decimal(cbc:TaxableAmount -
1) < (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='L'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)))) and
(../xs:decimal(cbc:TaxableAmount +
1) > (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='L'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount))))
)
)
)
every $rate in xs:decimal(cbc:Percent) satisfies
((exists(//cac:InvoiceLine) and
(
(../xs:decimal(cbc:TaxableAmount -
1) < (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='M'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)))) and
(../xs:decimal(cbc:TaxableAmount +
1) > (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='M'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)))))) or
(exists(//cac:CreditNoteLine) and
(
(../xs:decimal(cbc:TaxableAmount -
1) < (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='M'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)))) and
(../xs:decimal(cbc:TaxableAmount +
1) > (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='M'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount))))
)
)
)
(exists(//cac:InvoiceLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount))))) or
(exists(//cac:CreditNoteLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount))
)
)
)
every $rate in xs:decimal(cbc:Percent) satisfies
(((exists(//cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID) =
'S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]) or
exists(//cac:AllowanceCharge[cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate])) and
(
(../xs:decimal(cbc:TaxableAmount -
1) < (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)))) and
(../xs:decimal(cbc:TaxableAmount +
1) > (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)))))) or
(exists(//cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID) =
'S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]) or
exists(//cac:AllowanceCharge[cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate])) and
(
(../xs:decimal(cbc:TaxableAmount -
1) < (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)))) and
(../xs:decimal(cbc:TaxableAmount +
1) > (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) =
$rate]/xs:decimal(cbc:Amount)))
)
)
)
(exists(//cac:InvoiceLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:Amount))))) or
(exists(//cac:CreditNoteLine) and
(
xs:decimal(../cbc:TaxableAmount) =
(sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:LineExtensionAmount)) +
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:Amount)) -
sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:Amount))
)
)
)