A Brazilian address carries two things most address models treat as optional: the neighbourhood, the bairro, and the two-letter abbreviation of the state, the UF. Both are part of the postal address. Between the house number and the bairro sits the complemento, the floor, room, suite or apartment inside the building, written as free text on the same line as the street.
This article describes the Brazilian address format, how CDQ represents it in the CDQ address model, how the complemento is delivered, and which reference data CDQ maintains for Brazil. It is the reference for anyone mapping Brazilian business partner data into CDQ, or consuming curated Brazilian addresses from CDQ.
In this article, you will understand:
- How a Brazilian address is structured, and which of its parts the post office actually uses
- Why the bairro and the state abbreviation belong in the address, and where each goes
- How each Brazilian level maps to a concept in the CDQ address model, and which SAP field it reaches
- How the complemento splits into floor, room and apartment, and which one is the house number supplement
- Which reference data CDQ maintains for Brazil, and what the published values look like
- Where the current CDQ coverage for Brazil is incomplete
Available in:
- CDQ Wiki: business partner metadata for Brazil: browse the published Brazilian metadata
A Brazilian address has a familiar shape: a street type and name, a number, a post code and a city. What is specific to Brazil is where integrations go wrong:
| Specific to Brazil | Why it matters |
|---|---|
| The bairro is part of the postal address | it has its own line on the envelope, and a model with no place for it either drops it or pushes it into the street or the city |
| The state is written as a two-letter abbreviation after the city | São Paulo / SP is a city and a state, and the state is also the ISO 3166-2 code without its prefix |
| The complemento is free text after the number | 12º andar, sala 1203 is a floor and a room, and it arrives inside the street value where it corrupts every comparison on that field |
The post code, the CEP, has eight digits and is written 00000-000 | it is precise to a street or a single large recipient, and the hyphen is often dropped in master data |
| Planned areas are addressed by sector, quadra and bloco | in Brasília and in many housing developments there is no street name to parse, and Quadra and Bloco are not street types |
Brazil has two administrative levels below the country that appear on an address, and one sub-municipal level that the post office relies on.
| Level | Portuguese | What it is | Used to address mail | Example |
|---|---|---|---|---|
| 1 | estado, unidade federativa (UF) | 26 states and the Federal District | yes, as the two-letter abbreviation | SP |
| 2 | município | municipality, about 5,570 of them | yes, as the city | São Paulo |
| sub-municipal | bairro | neighbourhood inside a municipality | yes | Bela Vista |
| postal | CEP | the post code, issued against a street, part of a street or a large recipient | yes | 01310-100 |
A municipality in Brazil is the city: there is no county or province between the state and the municipality, so a Brazilian address has no level 2 administrative area beyond the city itself.
The Federal District is a single municipality, Brasília. Its administrative regions take the place of bairros: where a region is not divided into bairros, the region is written as the bairro, and where it is, the bairro is followed by the region in brackets, as in Veredas (Brazlândia).
Empresa Exemplo Ltda.
Avenida Paulista, 1000, 12º andar, sala 1203
Bela Vista
01310-100 São Paulo / SPThe street type comes first, then the name, a comma and the number, then the complemento. The bairro has its own line. The last line holds the CEP, the city and the state abbreviation; the post office also accepts the CEP alone on the last line below São Paulo / SP.
The complemento identifies the unit inside the building. It is free text with a common vocabulary:
| Written | Portuguese | Means |
|---|---|---|
12º andar, 12º and. | andar | the floor |
sala 1203, sl 1203 | sala | an office room or suite |
conj. 51, cj 51 | conjunto | an office suite, in a commercial building |
apto 101, ap 101 | apartamento | a flat |
bloco B, bl B | bloco | one building of several on the same plot |
loja 3, lj 3 | loja | a shop unit at street level |
térreo | térreo | ground floor |
fundos | fundos | the rear of the property |
So Avenida Paulista, 1000, 12º andar, sala 1203 reads: number 1000 on Avenida Paulista, twelfth floor, room 1203.
Some forms are easy to misread:
| Written | What it is | What to watch |
|---|---|---|
s/n | sem número, no house number | A deliberate statement that there is no number. It is not a missing value and not a number |
Rodovia SP-330, km 98 | a property on a highway | The kilometre mark stands in for the house number, and SP-330 is the road, not a post code |
Conjunto Habitacional ... | a housing development | The same word as the office suite conj. 51, with a different meaning: here it names an area, not a unit |
SQS 308 Bloco C | sector, quadra and bloco, in Brasília | There is no street. The sector and quadra are the location and the bloco is the building |
Jardim ..., Vila ..., Parque ... | usually the name of a bairro | Jardim Paulista is a neighbourhood, not a street type followed by a name |
12º andar, sala 1203 describes where inside the building the partner sits. Left in the street field, it turns Avenida Paulista into Avenida Paulista 1000 12º andar sala 1203, which matches nothing, and two tenants of the same building become two different streets. The complemento belongs in premises fields.
The CEP has eight digits written as five, a hyphen and three: 01310-100. It was five digits until 1992, when the three-digit suffix was added. The first five digits identify the region, sub-region, sector and subsector. The suffix identifies a street, a side or section of a long street, or a single recipient. Suffixes from 900 to 999 are reserved for special cases, such as post office boxes and large recipients.
| Form | Example | Status |
|---|---|---|
| Eight digits with a hyphen | 01310-100 | the written form |
| Eight digits without a hyphen | 01310100 | common in master data, the same CEP |
| Five digits | 01310 | the pre-1992 format, incomplete |
A five-digit CEP is not wrong, it is old, and it cannot be completed without the street.
The bairro has no obvious field. Systems built on a street, city and post code shape put the bairro in the second street line, in the city, or nowhere. A bairro in the city field makes the city unmatched against any municipality list.
The state arrives as an abbreviation, a name, or both. SP, São Paulo, Sao Paulo and São Paulo - SP all mean the same state. Since the city and the state of São Paulo and Rio de Janeiro share a name, a name on its own does not say which level it belongs to.
Numbers in street names are common. Rua 25 de Março, Avenida 9 de Julho, Rua XV de Novembro. A parser that takes the first number it sees as the house number will take the date.
Rodovia addresses carry two numbers that are not a house number. In Rodovia SP-330, km 98, the road code and the kilometre mark both look like numbers. Neither is a CEP.
Quadra, bloco and lote replace the street in planned areas. In Brasília and in many developments the address is a sequence of sector, quadra, bloco or conjunto, and lote. These locate a building rather than name a street.
São Paulo and Rio de Janeiro are both a state and its capital. Without the abbreviation, São Paulo on its own does not say whether it is the city, the state, or both. Keep the state as its own value and supply the abbreviation where you have it.
The CDQ address model has two parallel hierarchies. Administrative areas represent the political containers, typed REGION and COUNTY. Localities represent the places themselves, typed CITY, DISTRICT, QUARTER or BLOCK. Streets are held as thoroughfares with the number in its own field, and the position inside the building as typed premises.
Brazil maps as follows:
| Brazilian level | CDQ concept | Type | SAP field |
|---|---|---|---|
| estado (UF) | administrative area, level 1 | REGION | region |
| município | locality, level 1 | CITY | city |
| bairro | locality, level 2 | DISTRICT | district |
| zona industrial | thoroughfare | INDUSTRIAL_ZONE | appended to district |
| street type and name | thoroughfare | STREET | street |
| number, or the kilometre mark | thoroughfare number | n/a | house number, HOUSE_NUM1 |
| andar, the floor | premise | LEVEL | floor |
| sala, conjunto, loja | premise | ROOM | house number supplement, HOUSE_NUM2, and the room number, ROOM_NUMBER |
| apartamento | premise | APARTMENT | house number supplement, HOUSE_NUM2, and the room number, ROOM_NUMBER, when no room is present |
| bloco | premise | BUILDING | building |
| Caixa Postal | postal delivery point | POST_OFFICE_BOX | PO box |
| CEP | post code | REGULAR | post code |
SAP reserves a second house number field, HOUSE_NUM2, for the Iberian and Latin American supplement to the house number. Brazil is one of the five countries for which CDQ fills it. What goes there is the unit: the room, the suite or the apartment. The floor goes to the dedicated floor field, and the bloco to the building field.
This is why a sala or a conjunto is modelled as a room rather than as a suite. In an SAP system with the Brazilian localization, HOUSE_NUM2 is the master-data field the electronic invoice, the NF-e, takes its complemento from. A unit delivered anywhere else does not appear on the invoice. HOUSE_NUM2 holds ten characters, so the unit fits and the whole complemento usually does not, which is a second reason to keep the floor in its own field.
The delivery to SAP is a fixed selection from the typed premises of the address:
| SAP field | Takes | Several present |
|---|---|---|
HOUSE_NUM1 | the thoroughfare number | n/a |
HOUSE_NUM2 | room, door and apartment, for Brazil, Spain, Portugal, Mexico and Argentina only | all of them, joined with a comma and a space, in the order room, door, apartment |
FLOOR | the level premise | the first |
ROOM_NUMBER | room, else door, else apartment | the first one present, in that order |
BUILDING | building, else factory, else warehouse | the first |
So 1000, 12º andar, sala 1203 is delivered as:
| Output field | Value |
|---|---|
house number, HOUSE_NUM1 | 1000 |
| floor | 12º |
house number supplement, HOUSE_NUM2 | sala 1203 |
room number, ROOM_NUMBER | sala 1203, a repeat of the supplement, see below |
A room, suite or apartment is delivered twice: it reaches HOUSE_NUM2 and, because ROOM_NUMBER takes the first of room, door and apartment, ROOM_NUMBER as well. A customer reviewing an SAP load for duplicated content will see the unit in both fields for Brazil, and should read HOUSE_NUM2 as the authoritative one.
1000 12º andar sala 1203 answers two different questions in one field: which building on the street, and which unit inside it. Splitting them is what makes either question answerable on its own. An exact comparison on street and number stops recognising that two tenants of Avenida Paulista, 1000 share a building, which is what site consolidation and hierarchy detection look for, and office towers on a few avenues are exactly where many Brazilian business partners share one street and one number.
| Rejected alternative | Why |
|---|---|
| Put the bairro in the second street line | It is where many systems put it, and it hides an area inside a street field, where it can no longer be compared with other addresses in the same bairro. SAP has a district field, and it takes the bairro. |
| Put the floor in the house number supplement together with the room | The supplement is one field, and packing two facts into it recreates the problem it exists to solve. SAP has a floor field, and it takes the floor. |
| Store the CEP without its hyphen as the canonical form | Eight digits with and without the hyphen are the same CEP. The written form carries the hyphen, and keeping it makes the value read the way the post office prints it. |
CDQ delivers the state with its ISO 3166-2 code, for example BR-SP. An SAP system does not validate against ISO: it validates the region field against its own region key table, T005S, which is part of a customer's configuration. That key exists for tax and jurisdiction purposes, which is why the level it sits at differs from one country to the next.
The region key is customer-specific configuration, so this standard does not define one. What this standard fixes is the ISO 3166-2 code. For Brazil the key your configuration holds is conventionally the two-letter abbreviation, which is the part of the ISO code after BR-, so the mapping is a transformation rather than a lookup. CDQ also carries a default SAP key for all 27 states, and it is that same abbreviation.
Treat the ISO code as the value CDQ guarantees and the SAP key as a mapping you own.
Avenida Paulista, 1000, 12º andar, sala 1203, Bela Vista, 01310-100 São Paulo / SP, in the CDQ address model:
| Field | Value |
|---|---|
| Country | BR |
Administrative area 1 (REGION) | São Paulo |
| Administrative area 1 short name | BR-SP |
Locality 1 (CITY) | São Paulo |
Locality 2 (DISTRICT) | Bela Vista |
Thoroughfare (STREET) | Avenida Paulista |
| Thoroughfare number | 1000 |
Premise (LEVEL) | 12º |
Premise (ROOM) | sala 1203 |
| Post code | 01310-100 |
The examples below show the shape of each dataset, not its full contents. The complete published lists for Brazil are on the CDQ Wiki page business partner metadata for Brazil, which also covers legal forms, identifier types and the integrated data sources.
27 entries: the 26 states and the Federal District. Each carries its ISO 3166-2 code, the two-letter abbreviation as its default SAP key, and names in Portuguese, with English, French, German and Chinese where these exist.
| Code | Portuguese | Also matched as |
|---|---|---|
BR-SP | São Paulo | SP, SAO PAULO |
BR-RJ | Rio de Janeiro | RJ, RIO DE JANEIRO |
BR-MG | Minas Gerais | MG, MINAS GERAIS |
BR-DF | Distrito Federal | DF, Federal District |
BR-AM | Amazonas | AM, AMAZONAS |
A state is resolved from its name or from its two-letter abbreviation, with or without the BR- prefix, so SP, BR-SP and São Paulo all resolve to BR-SP. Most states whose name carries a diacritic are also matched without it, so Sao Paulo resolves to São Paulo and Goias to Goiás.
Fernando de Noronha is a district of Pernambuco (BR-PE) and has no code of its own. The Manaus Free Trade Zone is a customs and tax regime, not a territory: a company in it has an ordinary Amazonas address with the region BR-AM.
56 entries, covering the Portuguese street vocabulary with its abbreviation, English equivalents, and the post office box.
| Term | Abbreviation | What it is |
|---|---|---|
| Rua | R | street |
| Avenida | AV | avenue |
| Alameda | AL | a tree-lined avenue |
| Praça | PÇ | square |
| Largo | LG | a small square |
| Travessa | TV | a cross street |
| Beco | BC | an alley |
| Estrada | ESTR | a road |
| Caminho | CAM | a lane |
| Quadra | Q | a block, in planned areas |
| Setor | ST | a sector, in planned areas |
| Loteamento | LOT | a subdivision |
| Caixa Postal | CP | post office box |
Where a term is recognised, the expanded form is written to the thoroughfare value and the abbreviated form to the thoroughfare short name, and the short name is what the SAP street line takes.
Eight digits, with an optional hyphen after the fifth: both 01310-100 and 01310100 are recognised as a regular CEP. The value is carried as supplied, so a CEP without its hyphen is not rewritten to the hyphenated form. A five-digit CEP is not recognised as a regular post code.
The state is standardised against reference data: whether it arrives as SP, BR-SP, São Paulo or Sao Paulo, the canonical name and the ISO code are written back.
Street terms are recognised in the street text and rewritten to the official abbreviation, so Avenida and AV produce the same delivered value.
CEPs are validated against the eight-digit format.
The municipality and the bairro are preserved as submitted. Where an address provider is enabled, it can enrich and complete them.
These are the gaps worth knowing about before designing an integration.
| Limitation | What it means for an integration |
|---|---|
| The Portuguese words of the complemento are not yet premise terms | Andar, sala, conjunto, apartamento, loja and térreo have no premise term for Brazil, and bloco and conjunto are published as street terms. Only the generic English words (floor, level, apartment, room, suite, building) are premise terms that apply to Brazil. A complemento arriving inside the street value can therefore stay there: it is never discarded, but the floor field and the house number supplement can be empty for an address that clearly has both. Where the source holds the floor and the unit in their own fields, they reach the right output fields. |
| The unit is delivered twice | HOUSE_NUM2 joins room, door and apartment, and ROOM_NUMBER takes the first of them. For Brazil a room or an apartment therefore appears in both. The standard expects it once, in HOUSE_NUM2. |
| The bairro is preserved, and not derived | A bairro supplied as its own locality reaches the district field. One that arrives inside the street or the city value is not separated out, and one that is absent stays absent, because deriving it needs a published CEP to bairro table. |
| Planned-area and highway addresses are not modelled | Quadra, setor and loteamento are published as street types, so SQS 308 Bloco C is carried as a street rather than as a sector and a building, and the kilometre mark of a rodovia address has no field of its own. Both are preserved as submitted. |
| The CEP is validated, and not normalised | A CEP without its hyphen is carried without it, and a five-digit CEP is not completed. |
Because the Portuguese complemento words are not yet premise terms, the floor and the room or apartment generally arrive in the street value and stay there. Before an SAP load, check the street values of your Brazilian records for a trailing complemento, and supply the bairro as its own value rather than in a street line. Where your source already holds the floor, the unit and the bairro in their own fields, supply them that way and they will reach the right output fields, with the unit in both HOUSE_NUM2 and ROOM_NUMBER.
A Brazilian address writes the street type first, the number after a comma, and then the complemento: the floor and the room, suite or apartment. The bairro has its own line, and the last line carries the eight-digit CEP, the city and the two-letter state abbreviation.
The state and the municipality are the only administrative levels, and both are written on the address: the municipality as the city, the state as its abbreviation. The bairro is not administrative, and the post office still uses it.
CDQ places the state in administrative area level 1, the municipality in locality level 1 and the bairro in locality level 2. The number goes to the house number, the floor to the floor field, the bloco to the building field, and the room or apartment to the house number supplement, which is the field SAP reserves for this in Brazil. The CEP stays one value.
The 27 states and the Brazilian street vocabulary are maintained as CDQ reference data, and the state is resolved from its abbreviation as well as its name. The complemento vocabulary is where the current coverage is weakest: its words are not yet premise terms, so the floor and the unit usually arrive inside the street value and stay there, and a unit that is delivered reaches two SAP fields.
- Business partner metadata for Brazil
- Portugal Address Standard
- Spain Address Standard
- United States Address Standard
We are constantly working on providing an outstanding user experience with our products. Please share your opinion about this tutorial!