Free NR4 XML generator for CRA
Built to CRA XML schema 1-26-3 (T619 2026, NR4 2026V3)
If you pay or credit amounts such as interest, dividends or pensions to non-residents of Canada, you report them on the NR4 information return: an NR4 slip for each recipient and an NR4 Summary. Those amounts are generally subject to Part XIII non-resident tax. The return is due no later than March 31 following the calendar year. TaxXML turns the NR4 spreadsheet you already have into the XML file CRA accepts through Internet File Transfer (IFT), in your browser, for free.
Information and a conversion tool, not advice
TaxXML provides information and a conversion tool only. It is not tax, legal, or accounting advice. CRA specifications change, so always verify the requirements, and your files, against the CRA's official XML specifications for information returns before you file.
What an NR4 XML file is
An NR4 XML file is one <Submission> with two parts:
- T619 transmitter record. The wrapper that says who is sending the file: the transmitter's CRA account number (usually the 15-character business number), a Submission Reference ID, a contact name, phone and email, and the language.
- NR4 return. One
<NR4Slip>per non-resident recipient, followed by one<NR4Summary>with the payer's details and the totals for every slip in the file.
You upload the file to IFT, which checks it against CRA's XML schema. Electronic filing is required once you file more than 5 slips of a type in a calendar year. Below that, it is optional but still accepted.
CRA XML specifications in plain terms
TaxXML follows schema 1-26-3: T619 2026 for the transmitter record and NR4 2026V3 for the return. The elements you will see most:
nr_acct_nbr: the payer's non-resident account number, 3 letters and 6 digits, for exampleNRA123456. The same number goes on the summary and every slip.RCPNT_NMorENTPRS_NM: the recipient's name. Individuals and joint accounts useRCPNT_NM; corporations and everyone else useENTPRS_NM.rcpnt_tcd: recipient type.1individual,2joint account,3corporation,4other (association, trust, partnership),5government or international organization.tx_cntry_cd,fssn_nbr: the recipient's 3-letter country of tax residence (Box 12) and their foreign or Canadian tax identification number (Box 13).RCPNT_ADDR: a foreign address, so it usesste_cdandfgn_pstl_cdinstead of a province and postal code.inc_1_tcd,crcy_1_cd: the income code (Box 14) and currency code (Box 15).NR4_AMT: gross income (Box 16) and non-resident tax withheld (Box 17).tx_xmpt_1_cd: the exemption code (Box 18), when one applies.rpt_tcd: report type.Ofor original,Afor amendment,Cfor cancel on a slip. The summary takesOorAonly.
The full rules are on CRA's site: XML specifications for information returns and the T619 2026 specification.
How to make an NR4 XML file in 3 steps
- Pick NR4 and open your spreadsheet. Choose NR4 in Step 1 of the converter, then open the .xlsx or .csv with one row per recipient. Not sure how to lay it out? Download the NR4 sample spreadsheet.
- Check the columns and fill in the filing details. TaxXML matches your headers to CRA fields. Fix any it missed, then enter the transmitter and payer details and your non-resident account number. Those are saved in this browser for next time.
- Generate and download. Problems are listed by row and column before anything downloads. Then upload the XML to IFT signed in with My Business Account, Represent a Client, or a web access code (WAC).
Common reasons CRA rejects an NR4 XML file
- Country codes with 2 letters. NR4 needs 3-letter codes, like
USAorDEU, notDE. TaxXML convertsUSandCAfor you and flags any other code that isn't 3 letters. - Empty optional tags. CRA rejects files that contain empty optional tags: a tag with nothing in it, like
<fgn_pstl_cd/>, gets the file rejected. Optional fields with no value must be left out entirely. TaxXML leaves out blank optional fields. Don't type "N/A" or a space to fill a cell. - Non-resident account number in the wrong format. It is 3 letters and 6 digits, and it must be the same on the summary and every slip.
- Income codes that lost their leading zero. Income codes are 2 digits, like
02or06. Excel turns06into6unless the column is formatted as Text. TaxXML puts the zero back and flags any code that isn't 2 digits. - Reused Submission Reference ID. Every file needs a new one. TaxXML bumps it for you (A to B) when you come back to resubmit.
- A cancel code on the summary. The NR4 summary has no
C. Cancelled slips go under an amended (A) summary.
Other free CRA XML returns
The same converter handles these. Pick the return in Step 1: