Contract amendment
Creates an amendment: a new contract, in the chain of the original contract, that replaces the current contract when it takes effect.
The amendment:
- inherits the name, vendor and signature method;
- declares the same expense types as the original contract;
- can define recurrences and change the expiration;
- belongs to whoever creates it: created by the consultant, it goes through the manager's decision; created by the manager, it does not, even if the original contract belongs to the consultant;
- has its own
contract_keyand follows the flow of a new contract: document, submission for review, review and signature.
The previous contract stays as it is (active or expired) until the amendment takes effect. At that point, it becomes amended and the expenses continue under the amendment. Canceling the amendment does not affect the previous contract.
To create an amendment:
- the previous contract must be
activeorexpired; - no other contract in the chain can be in progress;
- the contract cannot have a termination request awaiting review;
- the contract cannot have a recurrence.
Create amendment
| Profile | Host | Required permission |
|---|---|---|
| Manager | manager-api | Write |
| Consultant | consultant-api | Create Expense Contracts |
Base URL for each host: Environments (Hosts).
Path parameters
| Parameter | Type | Description |
|---|---|---|
fund_class_key | string | Fund class key (UUID). |
contract_key | string | Key of the contract the amendment replaces (UUID). |
{
"expense_types": [
{
"expense_type": "audit_tax"
}
],
"expiration_date": "2028-12-31"
}
Body attributes
| Field | Type | Required | Description |
|---|---|---|---|
expense_types | array | Yes | Exactly the expense types of the original contract. |
recurrences | array | No | Monthly recurrences, with the same rules as creation. |
expiration_date | string | No | Expiration, YYYY-MM-DD, or null. |
Response
The new contract in pending_submission, in the structure described in contract attributes, with amended_contract_key (the replaced contract) and root_contract_key (the original of the chain). Use the contract_key from the response in the next steps.
Errors
| Status | code | When it happens |
|---|---|---|
| 400 | QIT000001 | Invalid body: expense_types missing, repeated type in expense_types, value in the wrong format or unexpected field. |
| 400 | ECT000040 | expiration_date is not a valid date. |
| 400 | ECT000012, ECT000010 | An expense type does not exist, does not use a contract or is contracted during fund structuring. |
| 400 | ECT000060 | The expense types are not exactly those of the original contract. |
| 400 | ECT000061, ECT000045 | A recurrence has end_date earlier than start_date, or the recurrences do not have exactly one for each expense type. |
| 404 | ECT000005 | The fund class does not exist or you do not have access to it. |
| 404 | ECT000009 | The contract does not exist in this fund class. |
| 409 | ECT000028 | The contract is neither active nor expired, or another contract in the chain is already in progress. The message gives the status of the contract that blocks the amendment. |
| 409 | ECT000064 | The contract has a termination request awaiting review. |
| 409 | ECT000058 | The contract has a recurrence. |
| 409 | ECT000046 | The contract was created by QI Tech during fund structuring and does not accept this call. |
| 409 | ECT000015, ECT000059 | The vendor is inactive or its registration has expired (expired). |
| 409 | ECT000014 | One of the types is already in another contract of this fund with this vendor, outside the chain. |
| 409 | ECT000029 | A contract of this fund with this vendor was permanently rejected by compliance. |
{
"title": "Amendment expense types mismatch",
"description": "An amendment must declare the same expense types as the original contract 3f2b8c1e-7d4a-4e9b-9a61-0c5d2e8f4b17.",
"translation": "Um aditivo precisa declarar os mesmos tipos de despesa do contrato original 3f2b8c1e-7d4a-4e9b-9a61-0c5d2e8f4b17.",
"code": "ECT000060"
}
Authentication, permission and host errors: see API Errors.
Next step
Contract document: upload the amendment's PDF using the amendment's contract_key.