Why international payments get frozen
When you send money across borders, the payment passes through correspondent banks that screen every transaction for compliance with anti-money laundering (AML) regulations, sanctions lists, and tax reporting requirements. If the payment lacks proper documentation, the correspondent bank flags it and freezes the transfer until the sender provides additional information.
The most common reasons payments get frozen are missing or incorrect purpose codes (the code that tells the bank what the payment is for), no invoice attached to or referenced in the payment, missing tax identification numbers (the recipient’s PAN, TIN, or equivalent), payments to countries with enhanced scrutiny (India, Brazil, Nigeria, and others), recurring payments to the same individual that look like salary without employment documentation, and payment descriptions that are vague (writing ‘services’ instead of ‘software development services per invoice INV-2026-042’).
A frozen payment typically takes 5 to 15 business days to resolve. The bank requests documentation. If you do not have it ready, you scramble to create it retroactively. Meanwhile, your contractor is not getting paid and your relationship is strained.
The documentation that every international payment needs
Every cross-border contractor payment should have four things attached or referenced before you hit send.
First, a signed contract between you and the contractor. This establishes the legal basis for the payment. The contract should specify the nature of services, payment amount, and currency.
Second, an invoice from the contractor that matches the payment amount. The invoice should include the contractor’s name and address, their tax ID (PAN for India, TIN for US, VAT number for EU), a description of the services rendered, the invoice number, and the payment amount in the agreed currency.
Third, the correct purpose code. Purpose codes are standardized codes that classify the nature of a payment. For software development services, the code is different from consulting services, which is different from design work. Your bank or payment platform can provide the correct code for your payment type. Using the wrong code is one of the most common triggers for frozen transfers.
Fourth, the recipient’s bank details including their tax ID. For India, this means PAN and bank account with IFSC code. For the US, routing number and account number. For EU, IBAN and BIC/SWIFT code.
Country-specific pitfalls that freeze payments
India: The Reserve Bank of India (RBI) requires purpose codes on all inbound foreign remittances. The most common code for contractor payments is P0802 (software and IT services) or P0803 (other business services). Using the wrong code, or sending without one, will freeze the payment at the beneficiary bank. Additionally, if TDS should have been deducted and was not, the payment may be flagged during reconciliation.
Brazil: Inbound payments to Brazilian bank accounts require a DOC or TED reference. The Banco Central do Brasil monitors foreign receipts, and payments without proper invoicing documentation trigger tax authority alerts. Brazilian contractors often use the PJ (Pessoa Juridica) structure, which has specific invoicing requirements.
Nigeria: The Central Bank of Nigeria (CBN) has strict FX controls. Payments to Nigerian bank accounts in foreign currency are converted at official rates, but the actual receipt can be delayed by CBN processing queues. Many Nigerian freelancers prefer receiving payments through Payoneer or Wise to avoid the CBN bottleneck.
Philippines: The Bangko Sentral ng Pilipinas requires documentation for inbound remittances above certain thresholds. For contractor payments, the freelancer’s bank may request a copy of the contract and invoice before releasing the funds.
Payment methods ranked by freeze risk
Bank wire (SWIFT): Highest freeze risk. Every payment passes through one or more correspondent banks, each of which can flag and hold the transfer. Best for large, infrequent payments with full documentation. Not ideal for recurring contractor payments.
Wise (formerly TransferWise): Lower freeze risk than bank wires because Wise uses local payment networks instead of SWIFT for many corridors. But Wise still requires proper documentation and can freeze accounts if payment patterns look suspicious (recurring payments without invoices, payments to high-risk countries without explanation).
Payoneer: Lower freeze risk for freelancer payments because the platform is designed for this use case. Payoneer accounts are pre-verified. But Payoneer charges higher fees than Wise for most corridors.
Contractor management platform (Omnivoo, Deel, Remote): Lowest freeze risk because the platform attaches the contract, invoice, and purpose code to every payment before it enters the banking system. The compliance layer is built in, so payments are pre-documented and rarely flagged. On Omnivoo, every payment carries the signed contract reference, a system-generated or uploaded invoice, the correct purpose code for the service type and country pair, and the contractor’s verified tax ID.
The trade-off is cost versus risk. Bank wires are cheap but freeze-prone. Contractor management platforms cost $49 per month but virtually eliminate freeze risk because every payment is pre-documented.
The pre-payment checklist that prevents frozen transfers
Before sending any international contractor payment, confirm these six items.
One: Is there a signed contract on file between you and the contractor? If no, do not send the payment.
Two: Is there an invoice for this specific payment that matches the amount, includes the contractor’s tax ID, and describes the services? If no, request one before paying.
Three: Do you know the correct purpose code for this payment type and country pair? If no, check with your bank or payment platform.
Four: Is the contractor’s tax ID (PAN, TIN, VAT, etc.) on file and included in the invoice? If no, collect it.
Five: Have you determined whether tax withholding is required for this country pair? If TDS, WHT, or other withholding applies, compute and deduct it before sending the net amount.
Six: Does the payment description include a specific reference (invoice number, contract reference) rather than a generic description like ‘services’ or ‘payment’? If no, add one.
If all six answers are yes, the payment will clear. If any answer is no, fix it before sending. The 5 minutes you spend on documentation saves the 5 to 15 business days you would spend resolving a frozen transfer.