While importing eInvoices from XML, I recognized there is a difference behavior if the XML has one or more invoice lines (InvoiceRow).
→ If more then one row exists, it is enough to set RowVatExcludeAmount and RowVatRatePercent and the system calculates the tax based on both values.
→ When the XML has only one invoice line, It is in addition needed to set InvoiceTotalVatExcludeAmount, InvoiceTotalVatIncludeAmount and InvoiceTotalVatAmount on header (InvoiceDetail) level, because in this case there is no calculation in place and therefore the tax would be empty.
Technically, in Receive_Invoice_Util_API.Validate_Invoice_Rows there are several conditions if the number of invoice lines is zero, one or more than one. Therefore it seems not to be a bug.
Does anyone know the reason or business case of this implementation?