Poland (FA(3)): Prepaid Payment

You can model prepayments.

You can use the PrepaidPayments element to model information about prepayments. The amounts modeled in this element impacts the Amount Due for Payment (Invoice/UBLExtensions/UBLExtension/ExtensionContent/InvoiceExtension/ ReducedTotals/LegalMonetaryTotal/PayableAmont) element. More information is provided in the Poland (FA(3)): Document-Level Totals topic.

Different elements can be used depending on business scenarios such as:

  • Full invoice amount was already prepaid
  • Fully paid invoice amount indicating multiple payments
  • Partially paid invoice amount indicating multiple payments

Elements

The group contains following sub-elements of the PaymentMeans element to model the payment means:

Name (Path)Description
Payment Instructions Group (Invoice/PaymentMeans)0..nGroup of elements that models information about how the payment was made.
Payment Means Type Code (Invoice/PaymentMeans/PaymentMeansCode)1..1The code that represents the payment method. See UNCL4461. This can be named in an attribute, for example: <cbc:PaymentMeansCode name="Credit transfer">30</cbc:PaymentMeansCode>

Use the following sub-elements of the PrepaidPayments element to model information about the prepayment.

Name (Path)CardinalityDescription
Prepaid Amounts (Invoice/PrepaidPayment)0..nGroups information about a prepaid payment.
Paid Amount (Invoice/PrepaidPayment/PaidAmount)0..1The amount of the prepayment.
Paid Amount Debited Date Currency (Invoice/PrepaidPayment/PaidAmount [@currencyID])0..1The currency code. It must match the value in the DocumentCurrencyCode element.
Date of Prepayment (Invoice/PrepaidPayment/PaidDate)0..1The date the prepayment was paid.

Example

Full invoice amount was already prepaid

In this case, the PrepaidPayments element must contain only the Paid Date (PaidDate) sub-element. The FullyPaidIndicator (Extn) Extension on the Document level must be set to true.

<ubl:Invoice>
    <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionContent>
                <vrbl:InvoiceExtension>
                    <!-- Indicates that the invoice was fully paid -->
                    <vrbl:FullyPaidIndicator>true</vrbl:FullyPaidIndicator>
                </vrbl:InvoiceExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
    </ext:UBLExtensions>
    <!-- Code omitted for clarity -->
    <cac:PrepaidPayment>
        <cbc:PaidDate>2026-01-27</cbc:PaidDate>
    </cac:PrepaidPayment>
    <!-- Code omitted for clarity -->
</ubl:Invoice>

Fully paid invoice amount indicating multiple payments

In this case, additional data, the Paid Amount, and the Payment Means Type Code must be provided. The FullyPaidIndicator (Extn) Extension on the Document level must be set to true.

<ubl:Invoice>
    <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionContent>
                <vrbl:InvoiceExtension>
                    <!-- Code omitted for clarity -->
                    <!-- Indicates that the invoice was fully paid -->
                    <vrbl:FullyPaidIndicator>true</vrbl:FullyPaidIndicator>
                    <!-- Code omitted for clarity -->
                </vrbl:InvoiceExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
    </ext:UBLExtensions>
    <!-- Code omitted for clarity -->
    <cac:PrepaidPayment>
        <ext:UBLExtensions>
            <ext:UBLExtension>
                <ext:ExtensionContent>
                    <vrbl:PrepaidPaymentExtension>
                        <cac:PaymentMeans>
                            <cbc:PaymentMeansCode>VRBL:PL:01</cbc:PaymentMeansCode>
                        </cac:PaymentMeans>
                    </vrbl:PrepaidPaymentExtension>
                </ext:ExtensionContent>
            </ext:UBLExtension>
        </ext:UBLExtensions>
        <cbc:PaidAmount currencyID="PLN">10000</cbc:PaidAmount>
        <cbc:PaidDate>2026-01-27</cbc:PaidDate>
    </cac:PrepaidPayment>
    <cac:PrepaidPayment>
        <ext:UBLExtensions>
            <ext:UBLExtension>
                <ext:ExtensionContent>
                    <vrbl:PrepaidPaymentExtension>
                        <cac:PaymentMeans>
                            <cbc:PaymentMeansCode>VRBL:PL:01</cbc:PaymentMeansCode>
                        </cac:PaymentMeans>
                    </vrbl:PrepaidPaymentExtension>
                </ext:ExtensionContent>
            </ext:UBLExtension>
        </ext:UBLExtensions>
        <cbc:PaidAmount currencyID="PLN">20000</cbc:PaidAmount>
        <cbc:PaidDate>2026-02-14</cbc:PaidDate>
    </cac:PrepaidPayment>
    <!-- Code omitted for clarity -->
</ubl:Invoice>

Partially paid invoice amount indicating multiple payments

In this case, additional data, the Paid Amount, and the Payment Means Type Code must be provided. More general information about using the PaymentMeans element is provided in the VRBL: Payment Means topic.

The FullyPaidIndicator (Extn) Extension on the Document level must be set to false . You can also omit a value here as it defaults to false if no value is specified.

<ubl:Invoice>
    <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionContent>
                <vrbl:InvoiceExtension>
                    <!-- Code omitted for clarity -->
                    <!-- Indicates that the invoice was only paid partially -->
                    <vrbl:FullyPaidIndicator>false</vrbl:FullyPaidIndicator>
                    <!-- Code omitted for clarity -->
                </vrbl:InvoiceExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
    </ext:UBLExtensions>
    <!-- Code omitted for clarity -->
    <cac:PrepaidPayment>
        <ext:UBLExtensions>
            <ext:UBLExtension>
                <ext:ExtensionContent>
                    <vrbl:PrepaidPaymentExtension>
                        <cac:PaymentMeans>
                            <cbc:PaymentMeansCode>VRBL:PL:01</cbc:PaymentMeansCode>
                        </cac:PaymentMeans>
                    </vrbl:PrepaidPaymentExtension>
                </ext:ExtensionContent>
            </ext:UBLExtension>
        </ext:UBLExtensions>
        <cbc:PaidAmount currencyID="PLN">10000</cbc:PaidAmount>
        <cbc:PaidDate>2026-01-27</cbc:PaidDate>
    </cac:PrepaidPayment>
    <cac:PrepaidPayment>
        <ext:UBLExtensions>
            <ext:UBLExtension>
                <ext:ExtensionContent>
                    <vrbl:PrepaidPaymentExtension>
                        <cac:PaymentMeans>
                            <cbc:PaymentMeansCode>VRBL:PL:01</cbc:PaymentMeansCode>
                        </cac:PaymentMeans>
                    </vrbl:PrepaidPaymentExtension>
                </ext:ExtensionContent>
            </ext:UBLExtension>
        </ext:UBLExtensions>
        <cbc:PaidAmount currencyID="PLN">20000</cbc:PaidAmount>
        <cbc:PaidDate>2026-02-14</cbc:PaidDate>
    </cac:PrepaidPayment>
    <!-- Code omitted for clarity -->
</ubl:Invoice>