Skip to content

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, and not_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:

  • completed
  • completed_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_summary fact 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: original or correction
  • 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:

  • prepared
  • approved
  • submitted
  • accepted
  • accepted_with_errors
  • rejected
  • correction_required
  • superseded

Rules:

  • provider-agnostic filing identity and state do not depend on IRIS vocabulary;
  • the initial portal transport profile is irs_iris_taxpayer_portal_keyed version 1;
  • 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;
  • submitted means 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, or correction_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:

  • prepared
  • delivered
  • delivery_failed
  • returned
  • superseded

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.export action;
  • 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_year aggregation 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.maintain
  • payee_tax_profile.view_tin
  • information_return_payer_profile.maintain
  • information_return_payer_profile.view_tin
  • information_return_support.generate
  • information_return_draft.prepare
  • information_return_filing.approve
  • information_return_filing.export_handoff
  • information_return_filing.submit
  • information_return_filing.record_result
  • information_return_filing.correct
  • information_return_recipient_statement.prepare
  • information_return_recipient_statement.export
  • information_return_recipient_statement.record_delivery
  • information_return_support.export_sensitive

Protected actions resolve actor and company context and emit audit events without taxpayer identifiers or sensitive evidence contents.

  • purchasing-and-payables-summary-fact.contract.md
  • source-document.contract.md
  • security/company-data-encryption-contract.md
  • security/backup-security-contract.md
  • journal-entry.contract.md
  • security/role-permission-contract.md
  • security/audit-event-contract.md