Added TotalAmounts
This commit is contained in:
parent
f1a364866c
commit
23ad5c6945
|
@ -18,6 +18,14 @@ class Invoice(
|
|||
val buyerReference: String? = null,
|
||||
|
||||
val amountAdjustments: AmountAdjustments? = null,
|
||||
|
||||
/**
|
||||
* The total amounts of the invoice.
|
||||
*
|
||||
* For outgoing invoices: You don't have to calculate them, we do this for you. This ensures that all total amounts
|
||||
* are in accordance to other data of the invoice like the invoice item amounts and amount adjustments.
|
||||
*/
|
||||
var totalAmounts: TotalAmounts? = null
|
||||
) {
|
||||
override fun toString() = "$invoicingDate $invoiceNumber to $recipient"
|
||||
override fun toString() = "$invoicingDate $invoiceNumber to $recipient ${totalAmounts?.duePayableAmount?.let { " (${it.toPlainString()})" } ?: ""}"
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package net.codinux.invoicing.model
|
||||
|
||||
import java.math.BigDecimal
|
||||
|
||||
class TotalAmounts(
|
||||
/**
|
||||
* Gesamtbetrag einer einzelnen Rechnungsposition.
|
||||
*/
|
||||
val lineTotalAmount: BigDecimal,
|
||||
|
||||
val chargeTotalAmount: BigDecimal = BigDecimal.ZERO,
|
||||
|
||||
/**
|
||||
* Gesamtbetrag aller gewährten Rabatte, Abzüge oder Nachlässe.
|
||||
*/
|
||||
val allowanceTotalAmount: BigDecimal = BigDecimal.ZERO,
|
||||
|
||||
/**
|
||||
* Der Gesamtbetrag, der als Grundlage für die Steuerberechnung dient, nach Abzug von Rabatten (Allowance) und vor
|
||||
* Hinzufügen der Steuerbeträge.
|
||||
*/
|
||||
val taxBasisTotalAmount: BigDecimal,
|
||||
|
||||
/**
|
||||
* Die Gesamtsumme der auf der Rechnung anfallenden Steuern. Dies umfasst in der Regel alle Steuerarten, die auf den
|
||||
* Tax Basis Total Amount angewendet werden (z. B. Mehrwertsteuer oder Umsatzsteuer).
|
||||
*/
|
||||
val taxTotalAmount: BigDecimal,
|
||||
|
||||
/**
|
||||
* Der Gesamtbetrag der Rechnung nach Berücksichtigung aller Kosten, Abzüge und Steuern. Dies ist der Betrag, der
|
||||
* vor eventuellen Vorauszahlungen oder Gutschriften fällig wäre.
|
||||
*/
|
||||
val grandTotalAmount: BigDecimal,
|
||||
|
||||
/**
|
||||
* Der Betrag, der bereits im Voraus bezahlt wurde. Dieser Betrag wird vom Grand Total Amount abgezogen, um den
|
||||
* verbleibenden Zahlungsbetrag zu ermitteln.
|
||||
*/
|
||||
val totalPrepaidAmount: BigDecimal,
|
||||
|
||||
/**
|
||||
* Der noch zu zahlende Betrag, den der Kunde begleichen muss. Er ergibt sich aus dem Grand Total Amount abzüglich
|
||||
* des Total Prepaid Amount und eventueller weiterer Gutschriften oder Anpassungen.
|
||||
*/
|
||||
val duePayableAmount: BigDecimal
|
||||
) {
|
||||
override fun toString() = "${duePayableAmount.toPlainString()} (net: ${taxBasisTotalAmount.toPlainString()}, tax: ${taxTotalAmount.toPlainString()})"
|
||||
}
|
Loading…
Reference in New Issue