Last reviewed: 2026-07-29
Accepted decision: ../decisions/accepted/0025-contractor-classification-and-information-return-filing.md
Contractor and Information-Return Filing Contract
Canonical objects:
- InformationReturnPayerProfile
- PayeeTaxProfile
- WorkerClassificationRecord
- InformationReturnRuleSet
- InformationReturnSupportRun
- InformationReturnSupportLine
- InformationReturnDraft
- InformationReturnFilingSubmission
- InformationReturnRecipientStatement
InformationReturnPayerProfile
Required concepts:
- id and company id
- legal name and reporting address
- taxpayer-identifier type, protected full value, masked value, and validation status
- filing contact
- effective dates
- reviewer, review time, and evidence references
Rules:
- one effective payer profile supplies the issuer identity for a filing;
- a profile is effective for a filing date when its effective-from date is on or before that date and its optional effective-to date is on or after it;
- a successor explicitly references the same-company profile it supersedes; supersession preserves the prior profile and takes precedence from the successor's effective-from date;
- effective selection requires exactly one non-superseded applicable profile; missing or ambiguous selection is a visible filing-readiness blocker;
- filing contact is a required reviewed human-contact reference, not a transport credential or authentication secret;
- full TIN values follow the same sensitive-data controls as payee TINs;
- transport credentials, API secrets, and TCC secrets are not payer-profile fields or ordinary application configuration; and
- used profile history is superseded, not silently overwritten.
PayeeTaxProfile
Required concepts:
- id and company id
- source system and external payee id
- effective dates
- party roles
- worker relationship
- supplier categories
- information-return treatment
- legal or reporting name
- reporting address
- W-9 received, signed, certification, and validation status
- taxpayer-identifier type, protected full value, masked value, and validation status
- reviewer, review time, and evidence references
Conditional concepts:
- DBA name
- federal tax classification
- MISC reporting category
- foreign-payee review status
- backup-withholding review status
- superseded profile reference
Rules:
- company, source system, and external payee identity are required and stable;
- a profile is not a general Party or operational vendor master;
- party role, worker relationship, supplier category, and information-return treatment remain separate attributes;
- an independent contractor is also a supplier/payee;
- vendor or supplier status alone does not establish contractor or information-return treatment;
- full taxpayer identifiers are required for filing and follow ADR 0025 sensitive-data controls and the ADR 0030 envelope design;
- the ordinary profile snapshot contains only the protected-payload identity, envelope/key version, masked value, type, and validation state, never plaintext TIN, ciphertext, nonce, tag, or wrapped key;
- Form W-9 is retained or referenced as sensitive Source Document evidence and is not filed with the IRS; and
- used profile history is superseded, not silently overwritten.
Protected taxpayer-identifier payload
Required concepts:
- immutable payload id, company id, owner type, and owner id
- payload purpose
- envelope and algorithm version
- payload nonce, ciphertext, and authentication tag
- wrapped data key nonce, ciphertext, and authentication tag
- company-key version
- authenticated-context version
- logical write identity and plaintext digest used only for replay comparison
- created time and actor
Rules:
- payload and data keys use AES-256-GCM with independently generated keys and nonces;
- authenticated context binds company, owner, purpose, payload id, and envelope version;
- ordinary profile queries do not read or decrypt the payload;
- maintenance, full-value view, and sensitive export use distinct protected actions;
- exact logical replay is idempotent and changed plaintext is a conflict;
- integrity errors disclose no taxpayer value, ciphertext, or key detail; and
- audit events contain object identity and result but no taxpayer identifier, masked value, ciphertext, digest, or key material.
Sensitive W-9 Source Document artifact
Required concepts:
- Source Document and managed artifact identity
- company, sensitivity classification, media type, and byte length
- ciphertext integrity digest
- protected-payload envelope identity
- created time and actor
Rules:
- Source Documents own W-9 evidence identity and supersession;
- artifact storage uses an opaque generated identity;
- artifact bytes are encrypted before durable storage;
- full-value artifact reads require
payee_tax_profile.view_tin; - routine exports and support bundles exclude artifact contents; and
- replacement preserves the prior Source Document and artifact.
WorkerClassificationRecord
Required concepts:
- id and company id
- payee profile id
- worker relationship
- effective dates
- decision date
- approving actor id
- reason or reviewed conclusion
- Source Document evidence references
Conditional concepts:
- next review date
- questionnaire or contract references
- superseded classification reference
Rules:
- allowed relationships are
employee,independent_contractor,classification_under_review, andnot_applicable; - BooksPlus does not infer the relationship from a W-9, invoice, contract, account, supplier category, or payment history;
- employee compensation is outside Purchasing and 1099 support; and
- unresolved classification does not block recognition of a valid payable or recording the accounting result of an externally issued payment;
- unresolved classification blocks contractor and information-return readiness and remains a visible exception.
InformationReturnRuleSet
Required concepts:
- stable key and version
- jurisdiction and tax year
- effective dates
- form and reporting category
- aggregation basis, threshold, and threshold comparison operator
- payee inclusion, exemption, and exception rules
- payment-nature rules
- payment-method and payment-network rules
- filing and recipient-statement deadlines
- accepted form revision
- authoritative source and review date
Conditional concepts:
- backup-withholding support rules
- superseded rule-set reference
Rules:
- thresholds are versioned data and are never a universal hard-coded
$600; - historical support runs retain the rule version used;
- payment cards, qualifying third-party networks, ACH, checks, and other payment methods remain distinguishable; and
- later rules do not rewrite prior tax-year results.
InformationReturnSupportRun
Required concepts:
- id and company id
- tax year and jurisdiction
- rule-set key and version
- requested by actor and requested time
- as-of or run time
- run status
- support lines
- totals by reporting category
- exception and exclusion totals
- source posted-entry references
Allowed statuses:
completedcompleted_with_exceptions
Rules:
- amount truth derives from posted journal entries and linked posted Purchasing payment facts;
- Summary batches, import candidates, and unposted payments are not report amount truth;
- generation covers every successfully posted, original
purchasing_vendor_payment_summaryfact in the requested company and tax year exactly once; - an explicit reviewed payment-support candidate links each covered Purchasing fact and successful journal entry to one effective same-company payee profile, payment nature, method, network classification, proposed treatment, reporting category, and applicable rule citations;
- missing, duplicate, extra, unposted, cross-company, wrong-year, or unreconciled candidate mappings block persistence and remain visible generation issues;
- resolved exclusions and unresolved exceptions remain separate: included, excluded, and exception amounts sum exactly to gross amount on every line and for the run;
- threshold comparison uses the selected versioned rule-set value and operator after aggregation on the rule set's declared basis; it is not a code constant;
- ledger, Purchasing-fact, reviewed-candidate, and support-line gross totals reconcile exactly before a run is persisted;
- the support run is the specialized persisted report-run record for this report definition and preserves its parameters and complete snapshot;
- exact replay of one run identity is idempotent, changed meaning conflicts, and a rerun uses a new identity;
- reruns preserve prior completed runs rather than overwriting them;
- formal output uses the persisted report-run path; and
- the support run itself is review support, not a filed information return.
InformationReturnDraft
Required concepts:
- id and company id
- tax year and jurisdiction
- form type and revision
- payer-profile identity, legal name, reporting address, masked TIN, and protected full-TIN reference
- stable payee identity, effective payee-profile id, reporting name and address, masked TIN, and protected full-TIN reference
- posted-payment support-line references
- reportable and backup-withholding amounts
- rule-set key and version
- draft status and validation issues
- prepared by actor and prepared time
Rules:
- initial filing scope is
1099_NEC; - draft preparation requires
information_return_draft.prepare; - ordinary draft persistence and reads contain masked TIN values and protected payload references only; they never load or retain plaintext TIN, ciphertext, nonce, authentication tag, digest, or wrapped key;
- untruncated payer and payee TIN values are assembled only through the later protected filing handoff;
- one draft aggregates all included support lines for one stable source-system and external-payee identity;
- the effective reviewed payee profile for the filing date supplies reporting identity, and missing or ambiguous selection is a visible readiness blocker;
- every amount reconciles to the selected completed support run and posted payment basis;
- a draft is not an IRS filing or proof of filing;
- payer and payee TIN values remain protected and masked in ordinary review;
- filing readiness requires resolved classification and payee profile, reportable threshold or other filing requirement, exact form revision, and no unresolved errors; and
- approval is distinct from preparation.
InformationReturnFilingSubmission
Required concepts:
- id and company id
- information-return draft id
- submission kind:
originalorcorrection - transport profile and version
- idempotency key
- approved by actor and approved time
- exact payload hash and protected payload reference
- submission status
- created and updated timestamps
Conditional concepts:
- correction target submission id
- correction evidence Source Document id
- handoff-export actor and time
- submitted by actor and submitted time
- external submission id when assigned
- protected IRS acknowledgment and error references
- result-recording actor and time
Allowed statuses:
preparedapprovedsubmittedacceptedaccepted_with_errorsrejectedcorrection_requiredsuperseded
Rules:
- provider-agnostic filing identity and state do not depend on IRIS vocabulary;
- the initial portal transport profile is
irs_iris_taxpayer_portal_keyedversion1; - the keyed-entry handoff is a versioned canonical BooksPlus package for authorized human entry into the portal, not an IRS CSV template or claim of IRS acceptance;
- BooksPlus does not hard-code a portal CSV template because the IRS owns and versions those tax-year and form-specific templates;
- approval revalidates one ready draft, decrypts its exact payer and payee TIN references, creates one protected handoff payload, and persists only its protected reference and SHA-256 identity in the ordinary filing snapshot;
- handoff export requires
information_return_filing.export_handoff, returns the exact approved payload, and does not change filing status; submittedmeans an authorized user confirmed that the exact approved handoff was submitted through the portal; export alone is not submission;- normalized portal results are
accepted,accepted_with_errors,rejected, orcorrection_required; raw acknowledgments and errors remain protected; - result recording requires
information_return_filing.record_result; - one logical original return has at most one accepted original submission;
- one draft has one original filing identity; a second original identity is a conflict even before acceptance;
- retries with identical meaning reuse the same idempotency identity;
- changed meaning requires a correction relationship, not a replacement original;
- a correction references the latest accepted, accepted-with-errors, or correction-required filing in its return chain and uses a different ready draft whose company, tax year, jurisdiction, form type, and stable payee identity match that filing;
- a correction requires active same-company Source Document evidence, preserves the corrected submission, and cannot fork an already corrected chain member;
- a correction whose protected handoff has the same payload meaning as its target is rejected as an exact retry rather than persisted as a correction;
- rejected originals are retried under their existing original filing identity when meaning is unchanged; they are not eligible correction targets;
- correction approval uses
information_return_filing.correct, requires a reason and step-up confirmation, and otherwise follows the same protected handoff, submission-confirmation, and result rules as an original; - approval, handoff export, submission confirmation, and result recording are distinct protected actions;
- approval and handoff export require a reason and step-up confirmation;
- a held draft, changed draft meaning, locked company key, missing or wrong-owner TIN payload, unresolved readiness issue, payload-integrity failure, or cross-company request blocks approval;
- submission confirmation requires an approved filing and exact payload hash;
- a portal result requires a submitted filing and exact logical replay;
- acknowledgments never change posted accounting;
- exact payloads, acknowledgments, and errors are sensitive evidence; and
- the initial release uses the IRIS Taxpayer Portal handoff;
- portal handoff and a later direct A2A adapter use the same canonical submission.
InformationReturnRecipientStatement
Required concepts:
- id and company id
- information-return draft id
- filing-submission id and submission kind
- statement form and revision
- permitted masked recipient TIN
- exact filing-payload hash
- protected statement-payload reference and exact payload hash
- reportable and backup-withholding amounts and currency
- generated actor and time
- delivery status
- delivery method when recorded
- delivery-evidence Source Document reference when recorded
- delivery-recording actor and time when recorded
- created and updated timestamps and revision
Allowed delivery statuses:
prepareddelivereddelivery_failedreturnedsuperseded
Rules:
- statement preparation requires
information_return_recipient_statement.prepare; - preparing and exporting the protected statement payload require a reason and
step-up confirmation; export uses the distinct
information_return_recipient_statement.exportaction; - one statement identity is created for each approved original or correction filing submission and exact replay reuses that identity;
- the statement copies the approved filing's draft identity, form revision, reporting identity, amounts, currency, and exact filing-payload hash so it reconciles without decrypting the filing handoff;
- recipient TIN masking follows the selected tax-year rule;
- the payer TIN is not truncated on a recipient statement;
- ordinary statement persistence contains no full taxpayer identifier, protected payload contents, ciphertext, digest, or key material;
- statement delivery status is distinct from IRS filing status; and
- recording a delivery outcome requires
information_return_recipient_statement.record_delivery, an active same-company Source Document, an explicit delivery method, actor, and time; - delivery replay is exact and a changed reuse of delivery identity conflicts;
- a corrected filing receives a new corrected statement; the prior statement remains durable and becomes superseded only after the corrected statement is recorded as delivered; and
- delivery evidence and audit output do not expose full TIN values.
InformationReturnSupportLine
Required concepts:
- payee profile id
- masked payee identity
- Purchasing payment-fact, Summary batch, and successful posted journal-entry references
- tax year
- payment nature and method
- gross, included, and excluded amounts
- exception amount
- proposed form and reporting category
- treatment result
- rule citations or reason codes
Conditional concepts:
- vendor invoice allocations
- exclusion or exception reason
- backup-withholding amount already supplied and posted
- classification, W-9, foreign-payee, or TIN exception
Rules:
- each posted payment amount is evaluated once for a support run;
payee_tax_yearaggregation groups related profile versions by stable source-system and external-payee identity, never by profile-record id;- the effective payee profile and optional effective worker-classification record are evaluated at the payment date;
- payment allocations reconcile to the payment total;
- exclusions require explicit evidence and rule support;
- employee payments cannot become nonemployee-compensation lines;
- unresolved classification, treatment, profile, payment-network, or rule-support meaning remains an exception amount and is not silently included or described as an exclusion;
- reversed or corrected payments follow posted correction truth; and
- support totals reconcile to the posted ledger basis.
Protected actions
payee_tax_profile.maintainpayee_tax_profile.view_tininformation_return_payer_profile.maintaininformation_return_payer_profile.view_tininformation_return_support.generateinformation_return_draft.prepareinformation_return_filing.approveinformation_return_filing.export_handoffinformation_return_filing.submitinformation_return_filing.record_resultinformation_return_filing.correctinformation_return_recipient_statement.prepareinformation_return_recipient_statement.exportinformation_return_recipient_statement.record_deliveryinformation_return_support.export_sensitive
Protected actions resolve actor and company context and emit audit events without taxpayer identifiers or sensitive evidence contents.
Related binding contracts
purchasing-and-payables-summary-fact.contract.mdsource-document.contract.mdsecurity/company-data-encryption-contract.mdsecurity/backup-security-contract.mdjournal-entry.contract.mdsecurity/role-permission-contract.mdsecurity/audit-event-contract.md