One way to understand a contract is it being a more complete invoice.
So they have the same criteria as an invoice, with some additional information:
1. Name of the company making the payment
The full name of the original payer.
It does not need to be an exact match, as long as we can be sure it's the same company as the payment. This accounts for typos, for example.
It's helpful to inform the address as well because then it's faster to certify who is the company.
2. Name of the beneficiary
When the payment is for a company, the contract should have the name of the company. If it is for the individual, contract with the individual name. It can not be a payment for an individual and the contract have the company name or vice versa.
With companies is accepted either an exact match with their original name or their fantasy name.
With individuals does not need to be an exact match, as long as we can be sure it's the same individual as the payment. This accounts for typos, for example.
The following data helps us certify who is the individual or company: address, CPF or CNPJ.
3. The amount
It doesn't need to be an exact match, however, the payment amount must be lower or equal to the contract amount.
It is not an issue if the payment and the contract are in different currencies, as long as the payment amount persists to be lower or equal to the contract amount.
We do have a tolerance though, to account for conversion rate fluctuations or banking fees prior to Husky receiving the payment. But if the payment amount is considered to be higher than the contract amount, even if accounting for these differences, it will not be accepted.
4. The description of the payment
The reason why that payment is being made.
5. Signatures
It needs to be signed by the parties in the contract.
6. Expiration date or timeframe
It needs to describe what's the timeframe in which that contract is valid.