Tax Forms
Access the IRS tax forms (1099-INT, 1099-NEC, 1099-MISC, 1042-S) that PCE generates for your payors and recipients, and list them by criteria.
A tax form is an official IRS document that reports income paid between two parties over a year. PCE generates supported forms for each unique payor and recipient combination from the data your program shares, links the generated PDF to the form record, and exposes the records through the List Tax Forms API so you can retrieve and distribute them.
Tax forms are generated by PCE, not created through the API. You don't submit a form; you supply the underlying data through the files your program shares, PCE validates and generates the forms, and you then list and download them.
Example
Over 2024 a customer pays a freelance contractor (saved as a Contact) more than $600. PCE generates a 1099-NEC for that payor/recipient pair, links the PDF, and the form appears in List Tax Forms with
status: GENERATED.
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_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. |
How tax forms are generated
- Set up SFTP once. Contact your account management team to set up the SFTP directories PCE uses to generate tax forms.
- Your program shares the data. The Program Manager provides accurate payor, recipient, and amount data through the files shared over SFTP.
- PCE validates. 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. - PCE generates the form. A valid record moves through
PENDING → PROCESSING → PROCESSED → GENERATED, and the generated PDF is linked to the form as alinkedDocument. A record that fails validation moves toFAILEDwith astatusReason. - You list and distribute. Use List Tax Forms to find generated forms by payor, recipient, type, year, or status, and read the linked document URL.
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 generated form document. | |
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 was generated. UTC, mm/dd/yyyy HH:mm:ss. | |
createdBy | username, status, userType | Object | The user that generated the form (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
| Status | Meaning |
|---|---|
PENDING | Default on creation. The generation instruction is submitted and pending further action. |
PROCESSING | The generation instruction is being processed. |
PROCESSED | The generation request has been submitted. |
GENERATED | The form was generated successfully and its PDF is linked. |
FAILED | Generation failed validation; see statusReason. |
Business validations
- Set up SFTP directories with your account management team before tax forms can be generated.
- A form is generated 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 generated forms
- Supported IRS tax types and sub-types: tax type codes and payment sub-type suffixes
- Ledger & statements: account-level activity and periodic statements
- Bank 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 about 8 hours ago