# This file was auto-generated by Fern from our API Definition.

import typing_extensions
import typing_extensions
import typing
from ..types.invoice_custom_field_placement import InvoiceCustomFieldPlacement


class InvoiceCustomFieldParams(typing_extensions.TypedDict):
    """
    An additional seller-defined and customer-facing field to include on the invoice. For more information,
    see [Custom fields](https://developer.squareup.com/docs/invoices-api/overview#custom-fields).

    Adding custom fields to an invoice requires an
    [Invoices Plus subscription](https://developer.squareup.com/docs/invoices-api/overview#invoices-plus-subscription).
    """

    label: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The label or title of the custom field. This field is required for a custom field.
    """

    value: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The text of the custom field. If omitted, only the label is rendered.
    """

    placement: typing_extensions.NotRequired[InvoiceCustomFieldPlacement]
    """
    The location of the custom field on the invoice. This field is required for a custom field.
    See [InvoiceCustomFieldPlacement](#type-invoicecustomfieldplacement) for possible values
    """
