Brazil’s CNPJ Now Accepts Letters: What Developers, Platforms and Businesses Must Change for Alphanumeric CNPJs

Table of Contents

  1. Key Highlights:
  2. Introduction
  3. Why the Format Changed — What the Update Enables
  4. What Changed Technically: Format and Validation Rules
  5. Practical Developer Steps to Update Validation Logic
  6. Regex and Input Examples
  7. Check-Digit Algorithms: What Remains, What May Change
  8. Database and Storage Considerations
  9. User Experience and Input Masks
  10. Integration and API Upgrades
  11. Security, Fraud and Ambiguity Risks
  12. Migration and Rollout Plan: A Recommended Roadmap
  13. Real-world Example: Shopify and Platform Responses
  14. Testing Strategy and Sample Test Cases
  15. Recommendations and Best Practices Checklist
  16. Who Needs to Act Now
  17. Governance and Compliance Considerations
  18. Monitoring and Operational Metrics to Track
  19. Potential Downstream Impacts to Business Processes
  20. Timeline and Prioritization Guidance
  21. Sample Implementation Patterns
  22. Industry Responses and Ecosystem Readiness
  23. FAQ

Key Highlights:

  • Receita Federal has updated the CNPJ format so the first 12 positions may contain letters or numbers while the final two characters remain numeric check digits; existing numeric CNPJs continue to work.
  • Software, databases, validation libraries, forms and integrations must be updated to accept alphanumeric characters, preserve check-digit validation, and prevent input/normalization errors.
  • Implement immediate steps: treat CNPJ as a string, revise regex and input masks, update backend validation (or call Receita), audit integrations and APIs, and monitor for ambiguous characters and fraud risks.

Introduction

Brazil’s national business identifier, the CNPJ (Cadastro Nacional da Pessoa Jurídica), has long been a fixed 14-digit numeric identifier used across tax filings, invoicing, banking, KYC and e-commerce. Receita Federal’s change to allow letters in the first 12 positions represents one of the most consequential identifier updates Brazilian developers and businesses will face in recent years. The final two positions remain numeric check digits, preserving a key structural integrity feature. The immediate technical implication is straightforward: systems must no longer assume the CNPJ is numeric-only.

This shift affects far more than form field validation. It touches data models, database indexing, search and matching logic, international integrations, input masks, fraud detection and legal compliance workflows. The following analysis explains the technical details, practical migration steps, security and UX considerations, testing guidance, and an actionable checklist organizations can apply right now to remain compliant and maintain data integrity.

Why the Format Changed — What the Update Enables

Receita Federal’s new format expands the namespace available for entity identifiers. A strictly numeric 12-digit base followed by two check digits caps the number of possible unique entities. Allowing letters in the first 12 positions dramatically increases unique combinations and gives the authority flexibility to encode new classes or series of identifiers without altering the length or breaking backward compatibility with existing numeric CNPJs.

Operational benefits include:

  • Increased capacity to issue unique identifiers as registrations grow.
  • Ability to introduce identifiers that encode non-numeric information (for example, series, special programs or classification codes) while keeping the check-digit integrity mechanism.
  • Preserved compatibility with systems that depend on the fixed-length and numeric check digits.

For businesses and software vendors, the change is not about semantics only. Systems that treated CNPJ as numeric values or relied on patterns tied to digits will break silently. A billing system that coerces input to integers risks losing leading characters or rejecting valid alphanumeric CNPJs. The practical work that follows is remediation and prevention.

What Changed Technically: Format and Validation Rules

Previously, a CNPJ followed a 14-digit numeric format commonly displayed as 00.000.000/0000-00 (14 digits including two check digits). Validation rules and libraries enforced numeric characters across all positions, and many regular expressions and database schemas reflected that assumption.

Under the new rule:

  • Positions 1–12 may contain uppercase letters (A–Z) and digits (0–9).
  • Positions 13–14 remain numeric and function as check digits.
  • Formatted representations (with dots, slash and hyphen) remain recognizable, but characters within the first twelve positions may be letters.

Example provided by platforms implementing the update: 12.ABC.345/01DE-35 — this uses letters sprinkled through the first 12-character body, with final two digits still numeric.

Immediate validation implications:

  • Accept alphanumeric characters in positions 1–12.
  • Enforce numeric characters in positions 13–14.
  • Preserve check digit validation logic; if the check-digit algorithm relies on numeric digit values only, verify whether Receita has published an updated algorithm to interpret letters (for instance, by mapping A → 10, B → 11, etc.) or has explicitly defined calculation rules. Do not assume a mapping — consult the official specification or Receita APIs.

Practical Developer Steps to Update Validation Logic

Update validation in three layers: normalization, syntactic validation (format/regex), and semantic validation (check digits and authoritative lookup).

  1. Normalization
  • Strip non-alphanumeric artifacts when validating (remove whitespace, punctuation such as dots, slashes and hyphens).
  • Normalize letter case to uppercase to avoid case-sensitivity issues.
  • Reject input with unexpected characters (accents, non-Latin letters, symbols).
  • Avoid converting to numeric types. Treat the CNPJ as a string everywhere.
  1. Syntactic validation
  • New unformatted pattern: ^[A-Z0-9]{12}[0-9]{2}$ — first 12 positions alphanumeric, last two digits numeric.
  • New formatted pattern: ^[A-Z0-9]{2}.[A-Z0-9]{3}.[A-Z0-9]{3}/[A-Z0-9]{4}-[0-9]{2}$ — preserves dots, slash and hyphen positions but allows letters in content.
  • If you previously used ^\d{14}$ or ^\d{2}.\d{3}.\d{3}/\d{4}-\d{2}$, update those regexes.
  1. Semantic validation (check digits)
  • Maintain check-digit verification for security and data integrity.
  • For numeric-only historic CNPJs, the existing modulus-11 algorithm applies. Many libraries implement that algorithm; keep it in place.
  • For alphanumeric CNPJs, confirm the official specification from Receita Federal describing how to map letters to numeric values when calculating check digits. Do not assume a particular mapping; incorrect check-digit calculation will reject legitimate CNPJs.
  • Fallback strategy: if the official check-digit rules are unclear or unavailable, perform syntactic acceptance and leverage an authoritative lookup (Receita’s web service or other official API) to verify the identifier and associated company data.

Sample normalization pseudocode (safe, non-assertive about check digits):

  • raw = input.trim()
  • normalized = remove punctuation(raw).toUpperCase()
  • if not match /^[A-Z0-9]{12}[0-9]{2}$/ -> reject
  • if numeric-only path -> run existing modulus-11 check
  • else -> if Receita published mapping -> compute check digits accordingly; otherwise call official receita lookup for verification

Regex and Input Examples

Old (numeric only)

  • Unformatted: ^\d{14}$
  • Formatted: ^\d{2}.\d{3}.\d{3}/\d{4}-\d{2}$

New (alphanumeric allowed in first 12 positions)

  • Unformatted: ^[A-Z0-9]{12}[0-9]{2}$
  • Formatted: ^[A-Z0-9]{2}.[A-Z0-9]{3}.[A-Z0-9]{3}/[A-Z0-9]{4}-[0-9]{2}$

Examples of valid alphanumeric CNPJs

  • 12ABC34501DE35 (unformatted)
  • 12.ABC.345/01DE-35 (formatted as shown by some vendors)

Common pitfalls

  • Using digit-only validation functions such as isNumeric() or parseInt/Number will reject or corrupt alphanumeric IDs.
  • Relying on database integer types (INT, BIGINT) will drop leading zeros and cannot store letters. Always use character fields.

Check-Digit Algorithms: What Remains, What May Change

The numeric CNPJ check digits use a modulus 11 algorithm with well-known weight arrays:

  • First check digit weights (applied to the first 12 digits): [5,4,3,2,9,8,7,6,5,4,3,2]
  • Second check digit weights (applied to the first 12 digits plus the first check digit): [6,5,4,3,2,9,8,7,6,5,4,3,2]

The algorithm:

  • Multiply each digit by its respective weight, sum results.
  • Compute remainder: sum % 11.
  • If remainder < 2 => check digit = 0; otherwise check digit = 11 - remainder.

That algorithm remains applicable for numeric CNPJs stored and issued historically. Receita Federal’s update keeps the final two positions numeric, preserving the value of check digits for validation and error detection.

When letters appear within the first 12 positions, the algorithm requires a mapping from characters to numeric “digit values” to compute the weighted sum. Receita Federal must define this mapping. Options include:

  • Base36 mapping (0–9 → 0–9, A–Z → 10–35),
  • Custom mapping (A → 1 or other),
  • ASCII-based conversions,
  • Or an entirely new checksum method.

Do not implement an ad hoc mapping. If official documentation or libraries are available, adopt them. If not, accept syntactically-correct alphanumeric identifiers and verify them using official lookup services or direct confirmation with Receita Federal.

Database and Storage Considerations

Many downstream issues arise from how systems store identifiers.

Data type

  • Use CHAR(14) or VARCHAR(14) at minimum to store the exact length. Avoid integer types.
  • Prefer fixed-length CHAR(14) to optimize index performance and prevent accidental trimming or padding; however, consider whether formatted variations with punctuation will be stored — normalize before storage.

Collation and case folding

  • Normalize letters to uppercase to ensure uniqueness and predictable matching across case-insensitive collations.
  • Set column collation that treats letters consistently. Avoid collations that fold letters differently for international comparisons.

Indexing and uniqueness constraints

  • Rebuild unique constraints and indexes using normalized values. If legacy systems created uniqueness on numeric-only interpretation, recreate with new string-based normalized values.
  • For systems storing both formatted and unformatted forms, choose canonical storage (unformatted, uppercase, no punctuation) and derive formatted representations for presentation only.

Search and joins

  • Update JOIN predicates and search indexes to use normalized CNPJ fields.
  • If full-text search previously relied on numeric ranges (e.g., BETWEEN), convert search logic to string patterns or normalized indexes.

Backups and data migration

  • Back up current data before schema changes.
  • Run migration scripts that normalize existing values to the new canonical form and re-index.
  • Test queries for performance; string indexes behave differently than numeric indexes for certain query patterns.

User Experience and Input Masks

Forms and UX components must change to accept letters where users previously expected digits.

Input method

  • Stop forcing numeric keyboards on mobile devices when users may need to input letters. Present the full keyboard or an alphanumeric input control.
  • Avoid tight digit-only masks on inputs. Use pattern-based masking that accepts letters A–Z and digits 0–9 in positions 1–12 and digits in 13–14.

Formatting assistance

  • Keep familiar formatting characters visible while entering (dots and slashes) but ensure the mask accepts letters.
  • Provide immediate, clear feedback when the last two characters are not numeric or when invalid symbols are typed.

Validation feedback

  • Offer contextual validation messages: “CNPJ must be 14 characters. The last two must be digits.” If server-side check fails, provide the source of the failure (e.g., “Does not match Receita Federal records”).
  • Defer strict check-digit failures until server-side validation if the official mapping is not yet implemented client-side.

Accessibility

  • Screen readers and autofill: label the field clearly as “CNPJ (alphanumeric allowed in positions 1–12)” to assist users and autofill agents.
  • Enable copy/paste of both formatted and unformatted values and normalize server-side.

Examples of input mask behavior

  • Client mask: [A-Z0-9]{2}.[A-Z0-9]{3}.[A-Z0-9]{3}/[A-Z0-9]{4}-[0-9]{2}
  • Allow users to paste “12.ABC.345/01DE-35” or “12ABC34501DE35” interchangeably.

Integration and API Upgrades

Any external or internal API expecting numeric-only CNPJ values needs immediate review.

API contract changes

  • Update API specs to document CNPJ as a 14-character string with alphanumeric characters allowed in positions 1–12 and digits required in 13–14.
  • Version API endpoints if necessary to preserve backward compatibility. Consider adding a validation endpoint that returns whether a CNPJ is syntactically valid, semantically valid (check-digit), and whether it matches Receita Federal records.

Partner communications

  • Notify partners and integrators about the format change with examples and recommended validation rules.
  • Provide test data sets including alphanumeric CNPJs where partners can validate their processing flows.

Data exchange formats

  • For CSV, JSON and other data exchange formats, declare CNPJ as string. Example JSON schema snippet:
    • type: string
    • pattern: '^[A-Z0-9]{12}[0-9]{2}$'
    • maxLength: 14
  • Avoid numeric types in OpenAPI/Swagger definitions.

Third-party libraries

  • Audit third-party libraries (payment gateways, accounting packages, KYC providers). Many will need updates. Track their release notes and adopt patched versions.

International partners

  • Foreign systems that assumed numeric CNPJ values may fail to ingest new alphanumeric strings. Provide mapping and change notices for cross-border integrations.

Security, Fraud and Ambiguity Risks

Allowing letters increases the risk of visually ambiguous identifiers and lookalike fraud. Implement safeguards.

Ambiguous characters

  • Characters such as O (letter) vs 0 (zero), I vs 1, and S vs 5 create confusion. Implement normalization rules for display and verification:
    • Display the canonical stored value (uppercase, unformatted) with optional formatted mask for readability.
    • When user input is ambiguous (contains both O and 0), prompt confirmation or verify via authoritative lookup.

Homoglyph and spoofing attacks

  • Attackers may register CNPJs with letters that resemble existing numeric-only CNPJs to impersonate companies.
  • Verify ownership: cross-check CNPJ against official Receita Federal records, company name, address and other KYC attributes before onboarding partners or enabling automated payments.

Sanitization and injection

  • Treat CNPJ as user input that must be sanitized for injection risks. Use parameterized queries and prepared statements when storing or querying databases.

Monitoring and anomaly detection

  • Log and monitor increases in newly issued alphanumeric CNPJ registrations or failed verification attempts.
  • Apply rate limits and suspicious activity detection to CNPJ validation endpoints to prevent enumeration attacks.

Legal and privacy

  • CNPJ is sensitive corporate data used in legal and financial contexts. Ensure access controls and data protection measures are applied consistently after format changes.

Migration and Rollout Plan: A Recommended Roadmap

A phased and test-driven migration reduces risk and operational pain. The following plan will help teams move confidently.

  1. Inventory
  • Enumerate where CNPJ is accepted, stored, validated, indexed, displayed, or exchanged.
  • Identify external systems and partners that consume CNPJ data.
  1. Quick code fixes
  • Update regex validation, client-side patterns and server-side validation to accept alphanumeric formats.
  • Switch data column types to CHAR(14) or VARCHAR(14) if not already.
  1. Normalization and canonicalization
  • Implement normalization utilities that:
    • Remove punctuation,
    • Convert to uppercase,
    • Validate pattern ^[A-Z0-9]{12}[0-9]{2}$.
  1. Check-digit strategy
  • If Receita publishes a mapping for letters, implement the updated modulus/checksum algorithm.
  • Until official mapping is implemented, rely on authoritative lookup APIs or deferred check-digit verification.
  1. Tests and QA
  • Create comprehensive test suites with:
    • Legacy numeric CNPJs,
    • Mixed alphanumeric samples,
    • Edge cases with ambiguous characters,
    • Invalid formats and known-bad values.
  1. Backwards compatibility
  • Allow old numeric-only CNPJs without forcing re-entry.
  • Support both formatted and unformatted inputs.
  1. Partner coordination
  • Share the timeline with integration partners, provide test data, and open a channel for issues.
  1. Phased rollout
  • Deploy schema and validation updates behind feature flags.
  • Monitor error rates and rollback if necessary.
  1. Observability
  • Instrument logging for validation failures and source of inputs.
  • Track user-reported issues and support tickets.
  1. Post-rollout audit
  • Validate stored CNPJs against Receita Federal records and reconcile discrepancies.

Real-world Example: Shopify and Platform Responses

E-commerce platforms must adapt quickly because CNPJs are used in vendor onboarding, invoices, and tax remittance. Shopify publicly indicated it updated its validation to accept alphanumeric CNPJs such as 12.ABC.345/01DE-35. That update follows the approach of loosening syntactic checks while ensuring final two digits are numeric and preserving check-digit validation where applicable.

Platform lessons from Shopify and similar vendors:

  • Rapid adoption of flexible regexes in checkout and vendor registration forms.
  • Communication to partners and app developers to stop assuming numeric-only CNPJs.
  • Provision of developer-facing libraries and sample code to standardize validation across their ecosystem.

Payment processors, accounting software vendors, and ERPs should mirror this approach: accept alphanumeric identifiers, apply normalization, and integrate with authoritative verification services for semantic validation.

Testing Strategy and Sample Test Cases

A rigorous testing program must cover syntactic and semantic validation as well as end-to-end flows.

Syntactic test cases

  • Valid numeric CNPJ: 12345678000195
  • Valid alphanumeric CNPJ: 1A.BC2.345/0D9E-12 (normalize and validate)
  • Invalid length: too short or too long
  • Invalid characters: punctuation outside expected positions, non-Latin letters
  • Last two are not digits: reject

Semantic test cases

  • Check-digit mismatch for numeric-only CNPJ: reject
  • Alphanumeric with currently unimplemented check-digit mapping: accept syntactically and verify through official lookup

Integration test cases

  • Database storage and retrieval: ensure no truncation or loss of characters
  • API consumer test: ingest alphanumeric CNPJ and confirm downstream processes (billing, tax calculation, KYC) do not fail
  • UI tests: mobile keyboard selection, paste behavior, formatted display

Edge cases

  • Mixed case input: user enters lowercase letters (should be normalized)
  • Leading/trailing whitespace or punctuation: must be trimmed and normalized
  • Ambiguous characters like O/0 and I/1: flagged for confirmation or verification

Recommendations and Best Practices Checklist

  • Treat CNPJ as a string everywhere; never coerce to numeric types.
  • Normalize input: strip punctuation and uppercase letters before storing or validating.
  • Update regexes and input masks to accept A–Z and 0–9 in first 12 positions and digits for last two.
  • Confirm check-digit calculation method for alphanumeric identifiers with Receita Federal and implement official mapping. If unavailable, defer to authoritative lookup APIs.
  • Audit all databases, APIs, integrations, reports, search indexes and unique constraints that rely on numeric assumptions.
  • Coordinate changes with third-party vendors and partners; provide sample test data.
  • Update API specifications and developer documentation to state the new format explicitly.
  • Improve UX for entry: use appropriate keyboards, clear validation messages, and formatting helpers that accept letters.
  • Implement monitoring and anomaly detection for new CNPJ formats and potential spoofing attempts.
  • Keep historical numeric CNPJs working without mandatory re-entry.
  • Communicate changes clearly to internal teams and external users, including finance, legal and compliance.

Who Needs to Act Now

  • Software engineers and architects: update validation, storage, and API contracts.
  • Product managers: prioritize rollout and partner notifications.
  • Legal and compliance teams: verify alignment with tax reporting requirements and audit trails.
  • Customer support teams: prepare scripts for handling user confusion and edge cases.
  • Partners and integrators: adapt their ingestion and validation logic to accept alphanumeric CNPJs.

Governance and Compliance Considerations

Tax and corporate reporting workflows depend on precise identifiers. Any system that issues invoices, files taxes, or records supplier and customer identities must ensure:

  • Records are verifiable against Receita Federal data.
  • Audit trails capture both the entered value and any normalization performed.
  • Regulatory filings use the canonical identifier format accepted by government interfaces.

Document changes and maintain versioned transformation logic to support audits. If systems transform or canonicalize user-submitted values, log original input and the normalized stored value.

Monitoring and Operational Metrics to Track

Instrument the system to capture meaningful signals during and after the migration:

  • Volume of CNPJ entries per day, broken down by numeric-only vs alphanumeric entries.
  • Validation failure rates (syntactic and semantic).
  • Number of authoritative lookups against Receita Federal APIs and their success/failure rates.
  • Index and query performance for CNPJ-based lookups.
  • Customer support volume around CNPJ-related issues.
  • Fraud flags or suspicious pattern changes (lookalike IDs, repeated failed verifications).

Track these metrics pre- and post-rollout to surface unexpected regressions quickly.

Potential Downstream Impacts to Business Processes

Accounting, invoicing, payroll and procurement workflows often embed assumptions about CNPJs. Anticipate these downstream impacts:

  • Invoice templates and PDF generators: ensure formatting functions accept letters.
  • Tax reporting exports: confirm that exports to government portals accept alphanumeric first 12 characters.
  • Reporting dashboards: update filters and groupings that parsed CNPJ substrings or used numeric ranges.
  • Import/export and ETL pipelines: update parsers and parse rules to treat CNPJ as strings.

Failure to adapt any of these components can result in rejected filings, billing problems, or reconciliation issues.

Timeline and Prioritization Guidance

Immediate (0–2 weeks)

  • Update validation regexes and input masks.
  • Normalize storage types to string fields.
  • Notify partners and developers.

Short term (2–8 weeks)

  • Implement normalization utilities and server-side verification logic.
  • Add automated tests and begin deploying changes behind feature flags.
  • Coordinate with external vendors and partners.

Medium term (2–6 months)

  • Implement official check-digit algorithm for alphanumeric CNPJs when Receita publishes it.
  • Roll out full validation including semantic verification against Receita.
  • Re-index and migrate data where necessary.

Long term (6+ months)

  • Monitor adoption and anomaly patterns.
  • Iterate on UX and fraud detection rules.
  • Maintain documentation and train staff.

Sample Implementation Patterns

JavaScript/Node.js (normalization and syntactic validation)

  • Accept user input, remove non-alphanumerics, convert to uppercase.
  • Validate against ^[A-Z0-9]{12}[0-9]{2}$.
  • If numeric-only, optionally compute existing modulus-11 check-digit algorithm.
  • If alphanumeric present and no official mapping, call Receita verification endpoint.

Postgres schema example

  • ALTER TABLE companies ALTER COLUMN cnpj TYPE CHAR(14);
  • Create index: CREATE UNIQUE INDEX idx_companies_cnpj ON companies (upper(replace(replace(replace(cnpj, '.',''), '/',''), '-','')));

Example API OpenAPI schema snippet

  • components:
    • schemas:
      • Cnpj: type: string pattern: '^[A-Z0-9]{12}[0-9]{2}$' example: '12ABC34501DE35'

These are patterns to implement in your stack; adapt to language and framework conventions.

Industry Responses and Ecosystem Readiness

Large platforms and fintechs typically respond quickly when national identifiers change. Expect a staggered rollout:

  • Major cloud platforms and global SaaS vendors that operate in Brazil should push patches or configuration changes within weeks.
  • Smaller vendors and legacy systems may lag, creating integration friction for businesses relying on their services.
  • Regulatory filings and official web portals are likely to accept the new format promptly, but third-party tools may require explicit updates.

Organizations should plan for a period where some partners accept alphanumeric CNPJs and others do not. Implement compatibility layers or data translators where necessary.

FAQ

Q: Does the new CNPJ format change the length of the identifier? A: No. The CNPJ remains 14 characters in length. The first 12 positions can now contain letters or digits, while positions 13 and 14 remain numeric check digits.

Q: Will existing numeric-only CNPJs stop working? A: Existing numeric-only CNPJs continue to be valid and should remain accepted. The update expands accepted characters but preserves backward compatibility for legacy numeric entries.

Q: How do I validate the check digits for alphanumeric CNPJs? A: Receita Federal must publish definitive rules for mapping letters to numeric values for check-digit calculation if the checksum method is to be applied client-side. Until then, implement syntactic checks and verify CNPJs via official Receita Federal lookup services or APIs for authoritative validation.

Q: Should I change my database column types? A: If your database stores CNPJ as an integer or numeric type, change it to a character type (CHAR(14) or VARCHAR(14)). Using string types ensures letters are preserved and leading zeros are not lost.

Q: What regex should I use to validate CNPJ now? A: For unformatted values, use ^[A-Z0-9]{12}[0-9]{2}$. For formatted values including punctuation, use ^[A-Z0-9]{2}.[A-Z0-9]{3}.[A-Z0-9]{3}/[A-Z0-9]{4}-[0-9]{2}$.

Q: How should input masks change on mobile devices? A: Do not force numeric-only keyboards. Use an alphanumeric-friendly input mask that accepts letters in the first 12 positions and digits in the last two. Provide clear instructions and meaningful error messages.

Q: Are there fraud or spoofing risks with letters? A: Yes. Letters introduce visually similar combinations (e.g., O vs 0, I vs 1). Implement normalization, authoritative lookups and confirmation steps during onboarding to protect against impersonation.

Q: Do I need to update integrations with international partners? A: Yes. Many international systems have assumed CNPJ is numeric. Notify partners and update API contracts to ensure they accept alphanumeric strings where appropriate.

Q: Where can I find the official specification for the new CNPJ format and checksum? A: The authoritative source is Receita Federal. Check their official documentation, technical notes, and web services for the formal specification and any mapping or checksum updates.

Q: How to test migration safely? A: Prepare a comprehensive test suite covering both numeric and alphanumeric CNPJs, run tests in staging with feature flags, coordinate with partners for end-to-end tests, and monitor key metrics during rollout.

Q: If I cannot compute check digits for alphanumeric values, should I reject inputs? A: No. Accept syntactically valid alphanumeric values and validate them by calling an authoritative Receita Federal API or delaying final verification until server-side checks or manual verification can occur. Rejecting valid entries purely due to lack of updated checksum logic will cause user friction.

Q: Should I update API documentation and SDKs? A: Yes. Update OpenAPI/Swagger specs, SDKs and client libraries and publish migration notes and examples to guide integrators.

Q: Who should I contact for further guidance? A: Start with your technical teams, legal and compliance officers, and account managers for vendor and partner communications. For authoritative validation rules, consult official Receita Federal documentation and web services.


The change to allow letters in the CNPJ’s body positions is a significant but manageable evolution. Systems that treat CNPJ as a string, that normalize input, that verify with Receita Federal when in doubt, and that communicate clearly with partners will transition smoothly. Prioritize updates to validation logic, storage, input UX and integrations, and keep a close watch on verification and fraud detection signals as new alphanumeric registrations proliferate.

POWER your ecommerce with our weekly insights and updates!

Stay aligned on what's happening in the commerce world

Email Address

Handpicked for You

01 July 2026 / Blog

Brazil’s CNPJ Now Accepts Letters: What Developers, Platforms and Businesses Must Change for Alphanumeric CNPJs
Read more

30 June 2026 / Blog

Shopify Adds Transfer Metafields: How to Capture Lot Numbers, Logistics Data, and ERP Keys on Inbound Shipments
Read more

30 June 2026 / Blog

How to Use Location Metafields in Shopify Analytics to Segment Stores, Fulfillment, and Delivery Zones
Read more