[BR] Services Invoice for Rental (NFSe Locação)
What is an NFSe for rental?
Under the Reforma Tributária (LC 214/2025), an NFSe for renting, leasing or assigning real estate (locação, cessão onerosa ou arrendamento de bens imóveis) must identify the property. It is a regular Services Invoice (NFSe) plus property data, which Brinta adds automatically when the item's operation indicator is a real-estate code.
| Field | Value |
|---|---|
invoice_type | debit |
document_type | services invoice |
e_invoice | true |
currency | BRL |
When to issue an NFSe for rental
| Situation | Issue? |
|---|---|
| Monthly rent of a commercial or residential property | ✅ Yes |
| Lease (arrendamento) or paid assignment (cessão onerosa) of real estate | ✅ Yes |
| Service performed physically on a property (e.g. maintenance) | ✅ Yes, with operation indicator 020201 |
| Real estate administration or brokerage | ✅ Yes, with operation indicator 020301 |
| Any other service | ❌ No, use a regular Services Invoice (NFSe) |
Field by Field
Everything on the Services Invoice (NFSe) page applies. This page covers only what changes for rental.
items[]
items[]categories[].list = "operation indicator br"
categories[].list = "operation indicator br"This is the field that turns on the rental logic. Use one of the real-estate codes:
| Value | Operation | Supplying location |
|---|---|---|
020101 | Operação com bem imóvel, bem imaterial, inclusive direito, relacionada a bem imóvel | Localidade do imóvel |
020201 | Serviço prestado fisicamente sobre bem imóvel | Localidade do imóvel |
020301 | Serviço de administração e intermediação de bem imóvel | Localidade do imóvel |
Always send it as a 6-digit string, including the leading zero: "020101", never "20101" or a number.
Identifying the property
Only one property identifier is sent to the NFSe. Brinta picks the first one available, in this order:
| Priority | How to send it | Format |
|---|---|---|
| 1 | { "code": "<CIB>", "list": "imovel codigo cib" } in items[0].categories[] | Cadastro Imobiliário Brasileiro (CIB) code, up to 8 characters |
| 2 | { "code": "<inscrição>", "list": "inscricao imobiliaria" } in items[0].categories[] | Municipal property registration (inscrição imobiliária), up to 30 characters |
| 3 | buyer.company.physical_address | Property address: address_line_1 (street with the number at the end), neighborhood, postal_code |
Send the CIB or the inscrição imobiliária whenever you have it. They identify the property more precisely than an address.
categories[].list = "cClassTrib" and cst.ibs_cbs
categories[].list = "cClassTrib" and cst.ibs_cbsUse the rental classification that applies. Common combinations:
cst.ibs_cbs | cClassTrib | Description |
|---|---|---|
200 | 200027 | 70% reduction: locação, cessão onerosa e arrendamento de bens imóveis (art. 261, LC 214/2025) |
210 | 210003 | Redutor social: residential rental (art. 260, LC 214/2025) |
221 | 221001 | Fixed proportional rate on gross revenue (art. 487, LC 214/2025) |
See the full list on CST and cClassTrib codes.
categories[].list = "nbs code"
categories[].list = "nbs code"9 digits without dots, for example:
| Value | NBS | Description |
|---|---|---|
110011100 | 1.1001.11.00 | Administração e locação de imóveis residenciais |
110011290 | 1.1001.12.90 | Administração e locação de outros imóveis não residenciais |
buyer
buyercompany.physical_address
company.physical_addressOnly used when neither the CIB nor the inscrição imobiliária is sent. It must be the property's address, not the tenant's billing address (company.address).
Full Example Payload
{
"supplier_company_id": "{{company_id}}",
"invoice_type": "debit",
"document_type": "services invoice",
"invoice_date": "2026-10-01",
"invoice_due_date": "2026-10-10",
"currency": "BRL",
"e_invoice": true,
"invoice_external_id": "ALUGUEL-2026-10-0042",
"additional_info": "Aluguel referente a outubro/2026",
"buyer": {
"company": {
"name": "LOJA EXEMPLO LTDA",
"legal_name": "LOJA EXEMPLO LTDA",
"type": "business",
"email": "[email protected]",
"tax_registrations": [
{ "number": "11222333000181", "type": "CNPJ", "level": "country", "location": "BR" }
],
"address": {
// Tenant's billing address (tomador)
"country": "BR",
"address_line_1": "Avenida Paulista 1000",
"neighborhood": "Bela Vista",
"city": "São Paulo",
"state": "BR-SP",
"postal_code": "01310100"
},
"physical_address": {
// Property address, only used if no CIB or inscrição imobiliária is sent
"country": "BR",
"address_line_1": "Rua Augusta 1500",
"neighborhood": "Consolação",
"city": "São Paulo",
"state": "BR-SP",
"postal_code": "01304001"
}
}
},
"items": [
{
"item_external_id": "IMOVEL-0042",
"name": "Aluguel de imóvel comercial",
"description": "Rua Augusta 1500, loja 2",
"amount": 8000,
"categories": [
{ "code": "020101", "list": "operation indicator br" },
// Real-estate operation, 6 digits with the leading zero
{ "code": "200027", "list": "cClassTrib" },
{ "code": "110011290", "list": "nbs code" },
{ "code": "12345678", "list": "imovel codigo cib" }
// Property identifier (CIB). Or use "inscricao imobiliaria"
],
"cst": {
"ibs_cbs": "200"
}
}
]
}Common Mistakes
| Mistake | What happens | Fix |
|---|---|---|
Operation indicator sent as "20101" or as a number | No property data is added and the NFSe is rejected | Send "020101" as a string |
No CIB, no inscrição imobiliária and no physical_address.address_line_1 | The authority rejects the NFSe for missing property data | Send at least one identifier |
Tenant's billing address sent in physical_address | The wrong property is identified on the NFSe | Use the property's own address, or better, its CIB |
| Several properties in one NFSe | Only the first item's property is reported | Issue one NFSe per property |
Rental issued with the default cClassTrib 000001 | Full IBS/CBS rate instead of the rental reduction | Send the rental cClassTrib and CST that apply |
The tax treatment of rentals (ISS, IBS/CBS reductions, IRRF withholding) depends on the property and the parties. Confirm the codes with your tax advisor.
Updated about 13 hours ago
