Title: CheckoutBR – Campos Brasileiros no Checkout: CPF, CNPJ 2026 com Letras, Número e Bairro for WooCommerce
Author: wooglobalapps
Published: <strong>Mukulukusa bitungotungo 11, 2026</strong>
Last modified: Mukulukusa bitungotungo 23, 2026

---

Search plugins

![](https://ps.w.org/checkoutbr/assets/banner-772x250.png?rev=3739641)

![](https://ps.w.org/checkoutbr/assets/icon-256x256.png?rev=3739641)

# CheckoutBR – Campos Brasileiros no Checkout: CPF, CNPJ 2026 com Letras, Número e Bairro for WooCommerce

 By [wooglobalapps](https://profiles.wordpress.org/wooglobalapps/)

[Download](https://downloads.wordpress.org/plugin/checkoutbr.1.3.1.zip)

 * [Details](https://lug.wordpress.org/plugins/checkoutbr/#description)
 * [Reviews](https://lug.wordpress.org/plugins/checkoutbr/#reviews)
 *  [Installation](https://lug.wordpress.org/plugins/checkoutbr/#installation)
 * [Development](https://lug.wordpress.org/plugins/checkoutbr/#developers)

 [Support](https://wordpress.org/support/plugin/checkoutbr/)

## Description

#### Em português

**CheckoutBR** adiciona os campos brasileiros ao checkout do WooCommerce: tipo de
pessoa (física ou jurídica), CPF, CNPJ (inclusive o novo CNPJ alfanumérico de 2026),
razão social, número e bairro do endereço, data de nascimento e celular opcionais.
Validação real dos dígitos verificadores, máscaras, preenchimento do endereço pelo
CEP (opcional) e compatibilidade com os campos do Brazilian Market on WooCommerce.
Funciona no checkout em blocos e no checkout clássico. Gratuito.

**Works in the new Checkout block and in the classic checkout. Supports the new 
alphanumeric CNPJ.**

Brazilian stores need CPF or CNPJ, the address number and the neighborhood (bairro)
for invoices (NF-e), payment gateways and shipping labels. Most field plugins only
work with the old shortcode checkout, so the fields simply disappear when the store
switches to the **Checkout block** – and most still reject the alphanumeric CNPJ
issued since July 2026.

**CheckoutBR** adds the Brazilian fields to **both** checkouts. In the Checkout 
block it uses the official WooCommerce _Additional Checkout Fields_ API, so the 
fields are native, saved with the order and validated on the server.

**Features**

 * **Checkout block + classic checkout** with the same fields, settings and validation.
 * **Alphanumeric CNPJ** (e.g. 12.ABC.345/01DE-35) and the classic numeric CNPJ,
   validated with the official check-digit rule.
 * **Person type**: Individual (Pessoa Física) or Company (Pessoa Jurídica). You
   can also accept only individuals or only companies.
 * **CPF** for individuals and **CNPJ** plus **company name (razão social)** for
   companies. The right document is required depending on the person type – enforced
   on the server, not only in the browser.
 * **Real CPF validation** with check digits. Sequences such as 111.111.111-11 are
   rejected.
 * **Address number** and **neighborhood (bairro)** for billing and shipping addresses.
 * Optional **birth date** and **mobile phone** fields.
 * Choose which fields are enabled, required or optional.
 * **Input masks** in the classic checkout (CPF, CNPJ with letters, CEP, phone, 
   date). Values are stored without punctuation, CNPJ in uppercase.
 * Optional **CEP auto-fill** with ViaCEP (off by default, see “External services”).
 * **Compatibility mode** (on by default): uses the same order and customer fields
   as the Brazilian Market on WooCommerce plugin, so stores can switch with zero
   data loss.
 * The fields appear only when the country is Brazil, so international customers
   are not affected.
 * Shows the data on the **order edit screen**, **order emails**, the **thank-you
   page**, **My Account** (addresses and account details) and adds the number and
   neighborhood to the formatted address.
 * **Generate with AI**: describe what you want (a setting, a design change, texts,
   a custom feature) in the plugin screen and the AI assistant answers in the same
   chat.
 * Compatible with **HPOS** (High-Performance Order Storage) and the **Cart/Checkout
   blocks**.
 * Lightweight: one small vanilla JavaScript file, no jQuery plugins, no tracking.
 * Translation ready.

**Where is the data saved?**

Every order gets the same meta keys, whatever checkout was used. With compatibility
mode on (default): `_billing_persontype` (1 = individual, 2 = company), `_billing_cpf`,`
_billing_cnpj`, `_billing_company`, `_billing_birthdate`, `_billing_cellphone`, `
_billing_number`, `_billing_neighborhood`, `_shipping_number` and `_shipping_neighborhood`(
customer meta: `billing_cpf`, `billing_number`…). With compatibility mode off, the
keys are prefixed: `_billing_checkoutbr_cpf`, `_billing_checkoutbr_number`… Block
orders also keep the native Additional Checkout Fields data (`_wc_other/checkoutbr/…`,`
_wc_billing/checkoutbr/…`).

### External services

This plugin can connect to **ViaCEP** (https://viacep.com.br), a free public web
service that returns a Brazilian address for a postal code (CEP). It is used only
to auto-fill the street, neighborhood, city and state at checkout.

 * The feature is **disabled by default**. It runs only after the store owner enables“
   CEP auto-fill (ViaCEP)” in **WooCommerce  CheckoutBR**.
 * When enabled, the customer’s browser sends **only the CEP** typed in the postcode
   field (8 digits) to `https://viacep.com.br/ws/{CEP}/json/` when the postcode 
   field is changed and the country is Brazil. No name, document, email or other
   personal data is sent, and nothing is sent from your server.
 * ViaCEP website and terms of use: https://viacep.com.br/ – the service is provided“
   as is” by its maintainers; see the website for its usage terms and limits.

**WooGlobal Apps assistant service.** This plugin connects to the WooGlobal Apps
assistant service (https://conexao-support.vercel.app) **only** when an administrator
uses the “Generate with AI” tab:

 * When you click **Send**, the plugin sends your message, your site address, the
   email you typed (optional), your site name and language and the plugin version,
   so the answer can be delivered back to your site.
 * While the “Generate with AI” tab is open, and only after you have sent a message,
   the plugin loads the conversation from the service.
 * When you delete the plugin, it asks the service to delete your conversation.

Nothing is sent from your store front, from your customers or before you click Send.
Terms: https://wooglobal-apps.vercel.app/terms.html — Privacy policy: https://wooglobal-
apps.vercel.app/privacy.html

No other external service is used.

#### Em português

O CheckoutBR coloca **tipo de pessoa (PF/PJ), CPF, CNPJ, número e bairro** no checkout
do WooCommerce, tanto no **checkout em blocos (o novo)** quanto no clássico. Valida
os dígitos do CPF e do CNPJ, inclusive o **novo CNPJ alfanumérico (com letras) em
vigor desde julho de 2026**, que a maioria dos plugins antigos recusa.

 * Usa os mesmos campos do Brazilian Market on WooCommerce: migre sem perder pedidos
   nem clientes.
 * Endereço automático pelo CEP (opcional).
 * Compatível com HPOS e com o checkout em blocos.
 * Não temos relação com a Receita Federal nem com o WooCommerce; é um plugin independente.

### Support & free setup

CheckoutBR works fully on its own: every feature is free and nothing is locked or
required.

If you want a hand, the plugin screen (**WooCommerce  CheckoutBR**) has a **Generate
with AI** tab (see “External services”), a **Help** tab with quick tips and a **
Hire us** tab. The “Talk to us on WhatsApp” and “Hire on WhatsApp” buttons are plain
links: they open WhatsApp with a short message that contains only the plugin name
and version (or the service you clicked). Nothing is sent automatically and no store
or customer data is shared.

 * **Free setup:** we install and configure CheckoutBR on your store for free.
 * **Custom work** (optional): migration from Brazilian Market on WooCommerce, fixing
   checkout errors, NF-e / NFS-e invoice integration, custom checkout fields and
   validation. See [our services](https://wooglobal-apps.vercel.app/br/contratar.html?plugin=checkoutbr).
 * Questions and bug reports: [support forum](https://wordpress.org/support/plugin/checkoutbr/).

## Screenshots

[⌊Checkout block: the customer picks the person type, then the CPF or CNPJ field
appears (required).⌉⌊Checkout block: the customer picks the person type, then the
CPF or CNPJ field appears (required).⌉[

Checkout block: the customer picks the person type, then the CPF or CNPJ field appears(
required).

[⌊Classic checkout with person type, address number and neighborhood.⌉⌊Classic checkout
with person type, address number and neighborhood.⌉[

Classic checkout with person type, address number and neighborhood.

[⌊Settings page with the free setup help card.⌉⌊Settings page with the free setup
help card.⌉[

Settings page with the free setup help card.

[⌊Hire us tab: free installation and implementation services on WhatsApp.⌉⌊Hire 
us tab: free installation and implementation services on WhatsApp.⌉[

Hire us tab: free installation and implementation services on WhatsApp.

## Installation

 1. Install and activate WooCommerce.
 2. Upload the `checkoutbr` folder to `/wp-content/plugins/` or install it from **Plugins
    Add New**.
 3. Activate CheckoutBR.
 4. Go to **WooCommerce  CheckoutBR** to choose which fields are enabled or required.

## FAQ

### Does it work with the new Checkout block?

Yes. The fields are registered with the WooCommerce Additional Checkout Fields API(
WooCommerce 8.9 or newer). Person type, CPF, CNPJ, company name, birth date and 
mobile phone appear in the Contact information step; number and neighborhood appear
in the address forms.

### Does it work with the classic [woocommerce_checkout] shortcode?

Yes. The same fields, validation and settings are used in the classic checkout, 
with input masks.

### Is the CPF/CNPJ really validated?

Yes. The check digits are calculated on the server for both checkouts, and numbers
made of a single repeated digit are rejected. When “Individual” is selected the 
CPF is required; when “Company” is selected the CNPJ (and, if enabled, the company
name) is required.

### In the Checkout block, CPF and CNPJ are both visible. Why?

Showing only the field for the selected person type needs conditional fields, available
in recent WooCommerce versions. CheckoutBR uses them automatically when available.
On older versions both fields are shown, but only the one for the selected person
type is required.

### What happens with customers outside Brazil?

The fields are hidden and not required when the billing (or shipping) country is
not Brazil.

### Does it send data to other servers?

Only if you enable the optional CEP auto-fill (the customer’s browser sends the 
CEP to ViaCEP) or when an administrator sends a message in the “Generate with AI”
tab. See the “External services” section.

### Can payment or invoice plugins read the values?

Yes. Use the order meta keys listed in the description, for example `$order->get_meta('
_billing_cpf' )` (compatibility mode). CPF is stored as digits only; CNPJ as 14 
uppercase letters/digits.

### Does it accept the new alphanumeric CNPJ?

Yes. Since July 2026 new CNPJs may contain letters in the first 12 characters (for
example 12.ABC.345/01DE-35). CheckoutBR validates both the alphanumeric and the 
classic numeric format with the official check-digit rule (each character is worth
its ASCII code minus 48). Lowercase input is accepted and saved in uppercase.

### I use Brazilian Market on WooCommerce (WooCommerce Extra Checkout Fields for Brazil). Can I switch?

Yes – you can migrate in 15 minutes, with zero data loss:

 1. Install and activate CheckoutBR. Keep **Compatibility mode** on (default).
 2. In **WooCommerce  CheckoutBR**, choose the fields you need and click **Check existing
    Brazilian data**: it counts the orders and customers that already use the compatible
    fields.
 3. Deactivate Brazilian Market on WooCommerce.
 4. Place a test order with the classic checkout or the Checkout block.

CheckoutBR reads and writes the same order and customer fields (`_billing_persontype`,`
_billing_cpf`, `_billing_cnpj`, `_billing_number`, `_billing_neighborhood`, `_billing_cellphone`,`
_billing_birthdate`, `_shipping_number`, `_shipping_neighborhood`…), so old orders
keep showing CPF/CNPJ, returning customers are pre-filled (also in the Checkout 
block) and integrations that read those fields keep working. RG, IE and gender saved
by the old plugin are still shown on old orders.

### Are the fields removed when I uninstall?

The plugin settings are deleted. The data saved on orders and customers is kept,
because it is part of your order history.

### What can I ask in “Generate with AI”?

Anything related to your store and this plugin: settings, design changes, texts 
and translations, or a custom feature. The answer appears in the same chat, usually
within a few hours.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“CheckoutBR – Campos Brasileiros no Checkout: CPF, CNPJ 2026 com Letras, Número 
e Bairro for WooCommerce” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ wooglobalapps ](https://profiles.wordpress.org/wooglobalapps/)

[Translate “CheckoutBR – Campos Brasileiros no Checkout: CPF, CNPJ 2026 com Letras, Número e Bairro for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/checkoutbr)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/checkoutbr/), check
out the [SVN repository](https://plugins.svn.wordpress.org/checkoutbr/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/checkoutbr/) by 
[RSS](https://plugins.trac.wordpress.org/log/checkoutbr/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.1

 * Plugin name, tags and description now use the Portuguese terms Brazilian stores
   search for (campos brasileiros no checkout, CPF, CNPJ, número e bairro). No functional
   changes.

#### 1.3.0

 * Generate with AI tab: describe what you need and the AI assistant answers in 
   the plugin screen.

#### 1.2.1

 * English short description (wordpress.org rule) and name ending with “for WooCommerce”.

#### 1.2.0

 * Nome e descrição em português (plugin para lojas brasileiras).

#### 1.1.0

 * Welcome screen, Help and Hire us tabs, free setup help links, pt_BR translation;
   new plugin name.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.3.1**
 *  Last updated **3 enaku  ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/checkoutbr/)
 * Tags
 * [brasil](https://lug.wordpress.org/plugins/tags/brasil/)[checkout](https://lug.wordpress.org/plugins/tags/checkout/)
   [cnpj](https://lug.wordpress.org/plugins/tags/cnpj/)[cpf](https://lug.wordpress.org/plugins/tags/cpf/)
 *  [Advanced View](https://lug.wordpress.org/plugins/checkoutbr/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/checkoutbr/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/checkoutbr/reviews/)

## Contributors

 *   [ wooglobalapps ](https://profiles.wordpress.org/wooglobalapps/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/checkoutbr/)