Branch registration
For branch enablement, there are two operational flows that can be followed:
- Complete Flow (From scratch): This is the comprehensive branch registration, covering everything from address and billing data to legal representative and guarantor information. In this flow, enablement follows the standard process presented previously in the documentation, going through document approval and power validation. This flow requires a new assignment contract for effective enablement of the assignor in the fund.
- Simplified Flow (Linked Registration): Presented on this page, this flow treats the branch registration as a link to a previously registered parent company. In it, only basic data is sent and a new
assignor_registry_keyis created, but data such as representatives and guarantors are mandatorily reused from the parent company analysis.
If the branch is already registered as an assignor, it's also possible to link it to the parent company. In this case, previous documentation, representation and guarantors are discarded, and it inherits the parent company's data.
Advantages of the Facilitated Flow
There are two main advantages in the facilitated branch activation flow:
- Payment Options: When performing an assignment operation with the branch, the parent company accounts also become payment options.
- Configuration Replication: All Assignment Configurations from the parent company are automatically replicated to the branch as soon as it's approved, avoiding the need for the contract signing step. To retrieve the new keys, we recommend the assignment configuration listing, with parameters such as
assignment_contract_key,asset_typeandassignor_document_number, using the contract formalized by the parent company as reference.
The facilitated branch flow requires the presence of the following clause in the parent contract formalized with the parent company to be used:
CONSIDERING that the ASSIGNOR declares and guarantees that, if applicable, it is the parent company and holds full powers to legally represent all its branches before the ASSIGNEE, including for the practice of all acts necessary for the formalization and execution of assignments. The ASSIGNOR recognizes and assumes joint and unlimited responsibility for all obligations assumed by its branches as a result of assignments made with the ASSIGNEE, waiving, for all purposes, any allegation of lack of powers or autonomy.
Creating a new Branch
Even though the parent company's AML has already been performed, the first analysis (the linking one) of a branch always goes through the external data consultation and validation step, requiring waiting for the analysis approval or rejection webhook, which is sent automatically.
| Profile | Host | Required permission |
|---|---|---|
| Manager | manager-api | Write |
| Consultant | consultant-api | Register Assignor |
Base URL for each host: Environments (Hosts).
Request
The assignor_registry_key sent in the request must belong to the assignor's PARENT COMPANY, and it must already be enabled.
{
"document_number": "55.666.777/0002-62",
"email": "filial@cedente-exemplo.com.br",
"phone": {
"international_dial_code": "+55",
"area_code": "11",
"number": "936360269"
},
"address": {
"street": "Rua Maria Carolina dois",
"number": "624",
"neighborhood": "Jardim Paulistano",
"city": "Campinas",
"postal_code": "01445-000",
"uf": "SP",
"country": "BRA"
},
"annual_revenues": 20000,
"accounts": [
{
"account_branch": "0001",
"account_number": "0423223",
"account_digit": "6",
"financial_institution_code": "329",
"account_type": "checking_account",
"default_account": true
}
]
}
| Field | Type | Description | Characters |
|---|---|---|---|
document_number * | string | Assignor document number (CNPJ). | 14 to 18 |
annual_revenues * | number | Declaration of assignor's annual revenue, in integers. | Minimum of 1 |
email * | string | Assignor email address. | 1 to 255 |
phone | object | Object referencing assignor's phone information. | See Phone Definition. |
address * | object | Object referencing assignor's address information. | See Address Definition. |
accounts * | array | List of assignor's disbursement accounts. | See Account Definition. |
*Required fields.
Response
{
"assignor_registry_key": "9c130814-1aa5-4dcb-b6af-c4abdfca2947",
"status": "pending_registry",
"name": "Cedente Exemplo LTDA",
"document_number": "55.666.777/0002-62",
"last_analysis": {
"analysis_key": "49bcaaca-6029-4f6f-97a0-d71f7cefb7ae",
"analysis_number": 1,
"status": "sent_to_analysis",
"analysis_related_parties": [
{
"analysis_related_party_key": "65a74b18-0da8-4460-844b-524c9941e615",
"document_number": "969.698.790-03",
"name": "Roberto Carlos",
"documents": []
},
{
"analysis_related_party_key": "f2bc3473-1686-4d15-9a06-b51d25e20cb4",
"document_number": "123.456.789-09",
"name": "Natália Nascimento",
"documents": []
},
{
"analysis_related_party_key": "272cc251-a56d-4b89-82a1-d815a319b9fb",
"passport_number": "C01X00T47",
"name": "Maria Vitoria",
"documents": []
}
],
"documents": [
{
"document_key": "5530af20-f52e-4a2e-b0f3-732e8121f4b3",
"document_type": "social_contract",
"status": "valid"
}
]
}
}
| Field | Type | Description | Characters |
|---|---|---|---|
assignor_registry_key | string | Registry identifier. | 36 |
status | string | Registry status. | See Registry status enumerators. |
name | string | Assignor name. | 1 to 255 |
document_number | string | Assignor document. | 14 to 18 |
last_analysis | object | Analysis object. | See Analysis Definition. |
All representation, guarantor and document information will be automatically replicated from the parent company registry. However, the account sent must be owned by the branch, otherwise, future transfers will fail.
It's important to store the assignor_registry_key, as it will be used in various other processes, as well as the analysis_key and analysis_related_party_key.
Errors
| Status | Code | When it happens |
|---|---|---|
| 404 | ASR000004 | Parent company assignor not found for the assignor_registry_key provided. Make sure the assignor_registry_key in the URL corresponds to the parent company's registration. |
| 400 | ASR000099 | A natural person assignor cannot have branches. Only legal entity parent companies (person_type=legal_person) can have branches. |
| 400 | ASR000096 | The parent company's status does not allow a branch to be activated. The parent company must have status=registered to create a branch. |
| 400 | ASR000097 | The registration referred to is not a parent company. The assignor_registry_key in the URL must belong to a registration with organization_level=headquarters. |
| 400 | ASR000098 | The branch's CNPJ root does not match the parent company's. The root (first 8 digits) of the branch's document_number must be identical to the parent company's. |
| 409 | ASR000032 | This agent has already registered an assignor with this document_number. The branch already has a registration linked to this agent; use the linking an existing branch flow. |
| 404 | ASR000071 | Financial institution not found for the branch's account. Validate the financial_institution_code provided in accounts. |
| 400 | ASR000087 | Account information must contain digits only. Send account_branch, account_number and account_digit with digits only. |
| 400 | ASR000081 | More than one default account was submitted. Only one account may have default_account=true. |
Authentication, permission and host errors: see API Errors.
Linking an existing branch to the parent company
If both the branch and parent company already exist in different registries, it's possible to force the link between them. In this flow, all branch information that wasn't part of the creation request payload will be replaced by the parent company information.
| Profile | Host | Required permission |
|---|---|---|
| Manager | manager-api | Write |
| Consultant | consultant-api | Register Assignor |
Base URL for each host: Environments (Hosts).
Request
The assignor_registry_key sent in the request must belong to the assignor's PARENT COMPANY, and it must already be enabled.
{
"branch_assignor_registry_key": "9c130814-1aa5-4dcb-b6af-c4abdfca2947"
}
| Field | Type | Description | Characters |
|---|---|---|---|
branch_assignor_registry_key * | string | Registry identifier. | 36 |
*Required fields.
Response
{
"assignor_registry_key": "9c130814-1aa5-4dcb-b6af-c4abdfca2947",
"status": "pending_registry",
"name": "Cedente Exemplo LTDA",
"document_number": "55.666.777/0002-62",
"last_analysis": {
"analysis_key": "49bcaaca-6029-4f6f-97a0-d71f7cefb7ae",
"analysis_number": 1,
"status": "sent_to_analysis",
"analysis_related_parties": [
{
"analysis_related_party_key": "65a74b18-0da8-4460-844b-524c9941e615",
"document_number": "969.698.790-03",
"name": "Roberto Carlos",
"documents": []
},
{
"analysis_related_party_key": "f2bc3473-1686-4d15-9a06-b51d25e20cb4",
"document_number": "123.456.789-09",
"name": "Natália Nascimento",
"documents": []
},
{
"analysis_related_party_key": "272cc251-a56d-4b89-82a1-d815a319b9fb",
"passport_number": "C01X00T47",
"name": "Maria Vitoria",
"documents": []
}
],
"documents": [
{
"document_key": "5530af20-f52e-4a2e-b0f3-732e8121f4b3",
"document_type": "social_contract",
"status": "valid"
}
]
}
}
| Field | Type | Description | Characters |
|---|---|---|---|
assignor_registry_key | string | Registry identifier. | 36 |
status | string | Registry status. | See Registry status enumerators. |
name | string | Assignor name. | 1 to 255 |
document_number | string | Assignor document. | 14 to 18 |
last_analysis | object | Analysis object. | See Analysis Definition. |
Errors
| Status | Code | When it happens |
|---|---|---|
| 404 | ASR000004 | Parent company or branch assignor not found. Make sure the assignor_registry_key in the URL belongs to the parent company and that branch_assignor_registry_key in the body belongs to an existing registration of the same agent. |
| 400 | ASR000099 | A natural person assignor cannot have branches. Only legal entity parent companies can link branches. |
| 400 | ASR000096 | The parent company's status does not allow a branch to be linked. The parent company must have status=registered. |
| 400 | ASR000097 | The registration referred to is not a parent company. The assignor_registry_key in the URL must belong to a registration with organization_level=headquarters. |
| 400 | ASR000098 | The branch's CNPJ root does not match the parent company's. The root (first 8 digits) of the branch's document_number must be identical to the parent company's. |
Authentication, permission and host errors: see API Errors.
Updating Branch Data
Even though it's a linked registry, branch information can still be updated, but with some restrictions:
Information such as email, phone, address and annual_revenues can be updated using the same endpoint used to change parent company data (presented below). However, data such as name, related_parties, guarantors and documentation itself must always be updated in the Parent Company. When the parent company change is approved, all linked branches automatically replicate the data.
| Profile | Host | Required permission |
|---|---|---|
| Manager | manager-api | Write |
| Consultant | consultant-api | Register Assignor |
| Assignor | assignor-api | Write |
Base URL for each host: Environments (Hosts).
Request
{
"email": "financeiro@cedente-exemplo.com.br",
"annual_revenues": 1000000,
"address": {
"street": "Rua Maria Carolina",
"number": "624",
"neighborhood": "Jardim Paulistano",
"city": "São Paulo",
"postal_code": "01445-000",
"uf": "SP",
"country": "BRA"
},
"phone": {
"international_dial_code": "+55",
"area_code": "11",
"number": "936360268"
}
}
| Field | Type | Description | Characters |
|---|---|---|---|
annual_revenues | number | Declaration of assignor's annual revenue. | - |
email | string | Assignor email address. | 1 to 255 |
phone | object | Object referencing assignor's phone information. | See Phone Definition. |
address | object | Object referencing assignor's address information. | See Address Definition. |
If you don't want to change a field, simply don't send it in the request.
Response
{
"assignor_registry_key": "9c130814-1aa5-4dcb-b6af-c4abdfca2947",
"status": "registered",
"name": "Cedente Exemplo LTDA",
"document_number": "55.666.777/0002-62",
"last_analysis": {
"analysis_key": "f51a49e1-842c-471f-a0e1-32ee9f12625d",
"analysis_number": 2,
"status": "approved",
"analysis_related_parties": [
{
"analysis_related_party_key": "f361763a-91f5-4688-8e28-cc3f3fbccf9a",
"document_number": "969.698.790-03",
"name": "Roberto Carlos",
"documents": []
},
{
"analysis_related_party_key": "7ea3193b-8e53-40b7-94cf-2d3cc62942e0",
"document_number": "123.456.789-09",
"name": "Natália Nascimento",
"documents": []
},
{
"analysis_related_party_key": "f321f063-5f9a-4964-a24a-52deba128160",
"passport_number": "C01X00T47",
"name": "Maria Vitoria",
"documents": []
}
],
"documents": [
{
"document_key": "994621ac-7d3f-4f6b-90c5-74a4d8c5d017",
"document_type": "social_contract",
"status": "valid"
}
]
}
}
| Field | Type | Description | Characters |
|---|---|---|---|
assignor_registry_key | string | Registry identifier. | 36 |
status | string | Registry status. | See Registry status enumerators. |
name | string | Assignor name. | 1 to 255 |
document_number | string | Assignor document. | 14 to 18 |
last_analysis | object | Analysis object. | See Analysis Definition. |
Unlike parent company registration, since the changes don't involve representation and AML data, branch changes are always AUTOMATICALLY approved.
Account maintenance follows the same logic as for the parent company: see Assignor accounts.
Errors
| Status | Code | When it happens |
|---|---|---|
| 404 | ASR000004 | Branch assignor not found for the assignor_registry_key provided. Check whether the assignor_registry_key in the URL corresponds to a branch registration. |
| 400 | ASR000100 | The field submitted cannot be updated on a branch: name, related_parties and guarantors are always those of the parent company. To change them, update the parent company's registration (see Registration Update). |
Authentication, permission and host errors: see API Errors.