Collect Customer Tax IDs with Checkout
Displaying a customer’s tax ID and legal business name on invoices is a common requirement that you can satisfy by enabling tax ID collection in Checkout. This guide assumes that you’ve already integrated Checkout. If you haven’t, see the guide.
Supported Tax ID types
Checkout collects the following tax ID types in the given regions:
País | Enumeración | Descripción | Ejemplo |
---|---|---|---|
Alemania | eu_vat | European VAT number | DE123456789 |
Arabia Saudí | sa_vat | IVA de Arabia Saudita | 123456789012345 |
Australia | au_abn | Número de empresa australiana (AU ABN) | 12345678912 |
Austria | eu_vat | European VAT number | ATU12345678 |
Baréin | bh_vat | Número de IVA de Baréin | 123456789012345 |
Bélgica | eu_vat | European VAT number | BE0123456789 |
Bulgaria | eu_vat | European VAT number | BG0123456789 |
Canadá | ca_bn | BN de Canadá | 123456789 |
Canadá | ca_gst_hst | Número GST/HST de Canadá | 123456789RT0002 |
Canadá | ca_pst_bc | Número PST de Canadá (Columbia Británica) | PST-1234-5678 |
Canadá | ca_pst_mb | Número PST de Canadá (Manitoba) | 123456-7 |
Canadá | ca_pst_sk | Número PST (Saskatchewan) de Canadá | 1234567 |
Canadá | ca_qst | Número QST de Canadá (Quebec) | 1234567890TQ1234 |
Chile | cl_tin | TIN de Chile | 12.345.678-K |
Chipre | eu_vat | European VAT number | CY12345678Z |
Corea del Sur | kr_brn | BRN de Corea | 123-45-67890 |
Croacia | eu_vat | European VAT number | HR12345678912 |
Dinamarca | eu_vat | European VAT number | DK12345678 |
Egipto | eg_tin | Número de identificación fiscal de Egipto | 123456789 |
Emiratos Árabes Unidos | ae_trn | TRN de los Emiratos Árabes Unidos | 123456789012345 |
Eslovaquia | eu_vat | European VAT number | SK1234567891 |
Eslovenia | eu_vat | European VAT number | SI12345678 |
España | es_cif | Número de NIF español (anteriormente número de CIF español) | A12345678 |
España | eu_vat | European VAT number | ESA1234567Z |
Estonia | eu_vat | European VAT number | EE123456789 |
Finlandia | eu_vat | European VAT number | FI12345678 |
Francia | eu_vat | European VAT number | FRAB123456789 |
Georgia | ge_vat | IVA de Georgia | 123456789 |
Grecia | eu_vat | European VAT number | EL123456789 |
Hungría | eu_vat | European VAT number | HU12345678 |
India | in_gst | Número de GST de India | 12ABCDE3456FGZH |
Irlanda | eu_vat | European VAT number | IE1234567AB |
Islandia | is_vat | IVA de Islandia | 123456 |
Italia | eu_vat | European VAT number | IT12345678912 |
Kazajistán | kz_bin | Número de identificación comercial de Kazajstán | 123456789012 |
Kenia | ke_pin | Número de identificación personal de la Agencia Tributaria de Kenia | P000111111A |
Letonia | eu_vat | European VAT number | LV12345678912 |
Lituania | eu_vat | European VAT number | LT123456789123 |
Luxemburgo | eu_vat | European VAT number | LU12345678 |
Malta | eu_vat | European VAT number | MT12345678 |
México | mx_rfc | Número RFC de México | ABC010203AB9 |
Nigeria | ng_tin | Número de identificación fiscal de Nigeria | 12345678-0001 |
Noruega | no_vat | Número de IVA de Noruega | 123456789MVA |
Nueva Zelanda | nz_gst | Número de GST de Nueva Zelanda | 123456789 |
Omán | om_vat | Número de IVA de Omán | OM1234567890 |
Países Bajos | eu_vat | European VAT number | NL123456789B12 |
Polonia | eu_vat | European VAT number | PL1234567890 |
Portugal | eu_vat | European VAT number | PT123456789 |
Reino Unido | eu_vat | Northern Ireland VAT number | XI123456789 |
Reino Unido | gb_vat | Número de IVA del Reino Unido | GB123456789 |
República Checa | eu_vat | European VAT number | CZ1234567890 |
Rumanía | eu_vat | European VAT number | RO1234567891 |
Rusia | ru_inn | INN de Rusia | 1234567891 |
Rusia | ru_kpp | KPP de Rusia | 123456789 |
Singapur | sg_gst | GST de Singapur | M12345678X |
Sudáfrica | za_vat | Número de IVA de Sudáfrica | 4123456789 |
Suecia | eu_vat | European VAT number | SE123456789123 |
Suiza | ch_vat | Número de IVA de Suiza | CHE-123.456.789 MWST |
Tailandia | th_vat | IVA de Tailandia | 1234567891234 |
Turquía | tr_tin | Número de identificación fiscal de Turquía | 0123456789 |
Enable Tax ID collection
With tax ID collection enabled, Checkout shows and hides the tax ID collection form depending on your customer’s location. If your customer is in a location supported by tax ID collection, Checkout shows a checkbox allowing the customer to indicate that they’re purchasing as a business. When a customer checks the box, Checkout displays fields for them to enter their business’s tax ID and their business’s legal entity name. If available, Checkout uses the customer’s shipping address to determine their location, otherwise Checkout uses the customer’s billing address. Customers can only enter one tax ID.
New Customers
To enable tax ID collection for new customers, set tax_id_collection[enabled]
to true
when creating a Checkout session.
Nota
The above code example creates a Session in payment
mode with tax ID collection enabled. To enable tax ID collection in subscription
mode you would make the same changes highlighted in green to your subscription
mode Session creation request.
You can additionally configure Checkout to create a new Customer for you using customer_creation. If you do, Checkout saves any tax ID information collected during a Session to that new Customer. If not, the tax ID information will still be available at customer_details.tax_ids.
Existing Customers
If you pass an existing Customer when creating a Session, Checkout updates the Customer with any tax ID information collected during the Session. Checkout saves the collected business name onto the Customer’s name property, and adds the collected tax ID to the Customer’s customer.tax_ids array. Since the collection of a business name could result in the Customer’s existing name being overridden, you must set customer_update[name]
to auto
when creating the Session.
Precaución
Checkout only collects tax IDs on Customer’s that don’t already have an existing tax ID. If a Customer has one or more tax IDs saved, Checkout does not display the tax ID collection form even if tax ID collection is enabled.
When collecting tax IDs for existing customers you can choose to either base their location on existing addresses on the customer or the addresses entered during checkout. By default, Checkout looks for existing addresses on the customer to assess their location:
If you don’t have the addresses of your existing customers saved, you can choose to base their location on the billing or shipping address entered during Checkout. To specify that you want to use the billing address entered during Checkout to assess the customer’s location, you must set customer_update[address]
to auto
.
Nota
When setting customer_update[address]
to auto
Checkout replaces any previously saved addresses on the customer with the address entered during the session.
If you’re collecting shipping addresses for existing customers, you must base their location on the shipping address entered during checkout. To do so, set customer_update[shipping]
to auto
.
Nota
When setting customer_update[shipping]
to auto
Checkout replaces any previously saved shipping addresses on the customer with the shipping address entered during the session.
Nota
The above code examples create Sessions in payment
mode with tax ID collection enabled. To enable tax ID collection in subscription
mode you would make the same changes highlighted in green to your subscription
mode Session creation request.
Retrieving Customer Tax ID details after a Session
Checkout includes provided tax IDs on the resulting Session object. After each completed Session, Checkout emits a checkout.session.completed event that you can listen for in a webhook endpoint. If you wish to retrieve the collected tax ID from the Session object, it’s available under the Session’s customer_details.tax_ids array:
{ "object": { "id": "cs_test_a1dJwt0TCJTBsDkbK7RcoyJ91vJxe2Y", "object": "checkout.session", ... "customer": "cus_id_of_new_customer", "customer_details": { ... "tax_ids": [ {
Checkout also saves collected tax IDs and business names to the Customer object if one is associated with the Session. A tax ID collected during checkout is accessible under the Customer’s customer.tax_ids array. You can also retrieve all tax IDs saved to a Customer with the Tax IDs resource by specifying the owner[type]
parameter to customer
and owner[customer]
to the Customer’s ID. Every new tax ID includes an associated legal business name, which Checkout saves to the Customer’s name property. In doing so, the collected legal business name is always visible on any subscription invoices for that Customer.
Testing your integration
In test mode you can enter any alphanumeric string that is in the correct format of a supported tax ID type (for example, DE123456789
for eu_vat
). For a full list of example tax IDs you can reference our Customer Tax ID guide. You can also use our test tax IDs to test various verification state flows: test business tax IDs.
Validation
Checkout performs checks during the Session to ensure that provided tax IDs are formatted correctly. We don’t verify that provided tax IDs are valid during the Session. You’re responsible for ensuring the validity of customer information collected during Checkout. To help, Stripe automatically performs asynchronous validation against government databases for Australian Business (ABN) numbers, European Value-Added-Tax (EU VAT) numbers, and United Kingdom Value-Added-Tax (GB VAT) numbers. You can read more on the validation we perform, and how to consume the status of those checks in our Customer Tax ID guide.