Tax Forms
Issue IRS tax forms (1099-INT, 1099-NEC, 1099-MISC, 1099-K, 1042-S) as a service: your program submits issuance instructions, a tax issuance provider issues the forms, and PCE makes them available to list and distribute.
Tax form issuance is a service PCE offers so your program can meet its IRS information-reporting obligations without operating a tax engine of its own. Your program submits tax form issuance instructions for each payor and recipient, PCE validates and forwards those instructions to a tax issuance provider that issues the forms, and PCE then syncs the issued digital copies and makes them available to you through the List Tax Forms API so you can retrieve and distribute them.
PCE does not create tax forms. PCE acts as the software provider in an issuing-as-a-service model: it accepts your issuance instructions, validates them, and hands them to a tax issuance provider that issues (generates) the official forms. PCE syncs the issued digital copy back and makes it available. The only tax form action exposed over the API is listing the resulting forms.
Example
Over 2024 a customer pays a freelance contractor (saved as a Contact) more than $600. Your program submits an issuance instruction for that payor/recipient pair, the tax issuance provider issues a 1099-NEC, and PCE syncs the digital copy and links it. The form then appears in List Tax Forms with
status: GENERATEDand its linked PDF.
How tax form issuance works
Tax form issuance runs end to end from an instruction you submit to a form you can download. There is no "create form" API call; you supply the underlying data and PCE orchestrates issuance on your behalf.
- Set up the service once. Work with your account management team to enable tax form issuance for your program. This sets up the SFTP directories PCE uses to receive issuance instructions, provides the Excel templates for each form type, and sets your issuance mode — physical, digital, or both.
- Your program submits issuance instructions. For each payor + recipient + year, the Program Manager provides accurate payor, recipient, and amount data in the provided Excel templates and delivers them over SFTP. (An optional pre-validation step lets you check the data — for example, TIN data entered manually — before submitting.)
- PCE validates the instructions. PCE checks that listed entities exist, that each record is a unique payor + recipient + year combination (no duplicates), that any
id/externalIdpair belongs to the same entity, and that field formats and lengths are valid. Invalid records are reported back so you can correct and resubmit them. - The tax issuance provider issues the forms. PCE forwards valid instructions to a tax issuance provider that issues (generates) the official IRS forms. PCE tracks each instruction's progress through its statuses.
- PCE syncs the issued forms. PCE pulls each issued digital form back, links the PDF to the form record as a
linkedDocument, and marks the form available. A record that fails validation or issuance carries astatusReasonexplaining the problem. - You list and distribute. Use List Tax Forms to find forms by payor, recipient, type, year, or status, and read the linked document URL to distribute the PDF.
Issuance instructions are submitted through the files your program shares over SFTP (set up with your account management team), not through the API. The API surface for tax forms is read-only: List Tax Forms.
Delivery at a glance
| Direction | Channel | Format |
|---|---|---|
| Submit issuance instructions | SFTP | Excel (templates provided by Priority) |
| Retrieve issued forms | Fetch API (List Tax Forms) |
Supported form types
The type field takes one of the following values.
type | Form | Reports |
|---|---|---|
TAX_FORM_1099INT | 1099-INT | Interest income paid to an individual or business. |
TAX_FORM_1099NEC | 1099-NEC | Non-employee compensation to contractors and freelancers. |
TAX_FORM_1099MISC | 1099-MISC | Miscellaneous income: rents, prizes, awards, medical payments, royalties. |
TAX_FORM_1099K | 1099-K | Payment card and third-party network transactions. |
TAX_FORM_1042S | 1042-S | Foreign person's U.S.-source income. |
Who is payor and recipient, and eligibility thresholds
| Form | Payor | Recipient | Issued when |
|---|---|---|---|
| 1099-INT | The Program Manager | The customer's account | Interest payments total $10 or more. |
| 1099-NEC | The customer | A customer or a Contact | The customer pays, and the recipient receives, $600 or more over the year. |
| 1099-MISC | The customer | A customer or a Contact | $10 or more in royalties or broker payments, or $600 or more in other categories. |
For 1099-K and 1042-S, the payor, recipient, and reporting eligibility follow current IRS rules and are determined from the data your program submits.
Attributes
| Field | Sub-field | Type | Description |
|---|---|---|---|
resourceName | Enum | Name of the resource. Always taxForm. | |
id | Integer | Unique identifier assigned by PCE. | |
referenceNumber | String | Unique reference number assigned to the tax form. | |
type | Enum | Form type. See Supported form types. | |
year | String | Tax year the form is issued for. | |
linkedDocument | Object | The issued form document synced into PCE. | |
id | Integer | Identifier of the linked document. | |
purpose | Enum | Purpose of the document. Value: TAX_FORM. | |
status | Enum | Verification status of the document. Value: VERIFIED. | |
document | Object | resourceName, url, id, type (TAX_FORM), and name of the linked PDF. | |
linkedOn | Timestamp | When the document was linked. UTC, mm/dd/yyyy HH:mm:ss. | |
linkedBy | Object | userType, username, status of the linker (typically SYSTEM). | |
payor | id, type, url | Object | The paying entity. type is the entity type in PCE (for example CUSTOMER). |
recipient | id, type, url | Object | The receiving entity. type is the entity type in PCE (CUSTOMER, CONTACT, or COOWNER). |
status | Enum | Current status of the form. See Statuses. | |
statusReason | String | Reason for the current status. | |
createdOn | Timestamp | When the form record was created. UTC, mm/dd/yyyy HH:mm:ss. | |
createdBy | username, status, userType | Object | The user that created the form record (typically SYSTEM). |
lastUpdatedOn | Timestamp | When the form was last updated. UTC, mm/dd/yyyy HH:mm:ss. | |
lastUpdatedBy | username, status, userType | Object | The user that last updated the form. |
Statuses
A form record tracks the issuance instruction from submission through to the issued, synced form.
| Status | Meaning |
|---|---|
PENDING | Default on creation. The issuance instruction is submitted and pending further action. |
PROCESSING | The issuance instruction is being processed. |
PROCESSED | The issuance instruction has been submitted to the tax issuance provider. |
GENERATED | The form was issued successfully, and its digital copy has been synced and linked as a linkedDocument. |
FAILED | The instruction failed validation or issuance; see statusReason. |
Corrections and amendments
Tax reporting sometimes needs data fixed before forms are issued, or a form amended after it's issued. Both paths are handled through your account management team.
- Corrections (before forms are issued). If submitted data is rejected during validation, the rejected records are returned to your program with the reason for each rejection. Correct the data and resubmit over SFTP. A resubmission replaces the previous submission for that data set, so re-upload the complete, corrected data — not just the changed rows.
- Amendments (after forms are issued). To amend information on a form that has already been issued, contact your account management team. They route the request internally so a corrected form is issued, after which PCE syncs the updated form and it becomes available again through List Tax Forms.
Business validations
- Enable tax form issuance and set up SFTP directories with your account management team before instructions can be submitted.
- A form is issued for each unique combination of payor, recipient, and year; duplicates are rejected.
- PCE validates that listed entities exist, that any
id/externalIdpair belongs to the same entity, and that field formats and lengths are valid (for example, a zip or postal code must be 5 or 9 characters). - For 1099-INT the Program Manager is always the payor and the customer's account is the recipient; for 1099-NEC and 1099-MISC the customer is the payor and the recipient is a customer or a Contact.
Operations
See also
- List Tax Forms: filter, sort, and page through issued forms
- Supported IRS tax types and sub-types: tax type codes and payment sub-type suffixes
- Ledger & statements: account-level activity and periodic statements
- External Accounts & Contacts: the Contacts that appear as recipients on 1099-NEC and 1099-MISC
- Tax Form Error Codes: reasons a tax-form list request is rejected
Updated 4 days ago