Skip to Content

Contractor Payment Reporting — North America Foundation (1099-NEC, 1099-MISC, W-9) — free, Odoo 19 Community

Free 1099-NEC / 1099-MISC and W-9 register for Odoo 19: collect the W-9, track TIN and federal tax classification, accumulate reportable vendor payments per IRS box, flag the $2,000 and $600 thresholds, print the payee worksheet. Every threshold and due date is editable data carrying its IRS source and the date it was read — not a constant buried in the code. Shared base for the Canadian T5018 satellite.

0.00 € 0.00 €

Free
Cette application n'est pas vendue ici : utilisez les boutons Odoo Apps Store ou Omnifloo ci-dessous.
Terms and Conditions
30-day money-back guarantee
Shipping: 2-3 Business Days

Free 1099-NEC / 1099-MISC and W-9 register for Odoo 19: collect the W-9, track TIN and federal tax classification, accumulate reportable vendor payments per IRS box, flag the $2,000 and $600 thresholds, print the payee worksheet. Every threshold and due date is editable data carrying its IRS source and the date it was read — not a constant buried in the code. Shared base for the Canadian T5018 satellite.

View on the Odoo Apps StoreTry it on Omnifloo

Overview

Contractor payment reporting — North America foundation

A free app for Odoo 19 Community. Also searched for as: 1099-NEC Odoo, 1099-MISC Odoo, W-9 vendor tracking, contractor payment reporting, TIN collection, backup withholding, information return, 1099 reporting year.

The problem

Odoo pays your contractors. It does not report them. None of account, purchase, l10n_us or l10n_ca knows about the 1099, the W-9 or the T5018 — checked line by line in the standard modules. The payment lives in Accounting; the reporting obligation has nowhere to live. It ends up in a spreadsheet, and it is the spreadsheet that gets it wrong.

What this module sets up

The register of reportable payments. One payment, one contractor, one form box, one period. It is the missing building block between accounting and the tax return.

Document collection. The W-9 is requested, received, filed, and carries the taxpayer identification number and the tax classification the provider declares. An expired document becomes a gap again — the same action, and the same field names, as the subcontracting certificates in the DYONYSOS catalog.

The running total per box, and the threshold. Each box carries its threshold. The module says when a running total reaches it. It does not say that a slip is due: that depends on facts the software does not have.

The identity snapshot. When the return is prepared, each recipient's name, address and identifier are copied into the slip and never change again. Two years later, the partner record no longer shows what was reported; the slip does.

Printing of the slip and the summary, clearly marked as not being the official forms — because they are not, and a module that suggests otherwise costs its buyer a whole season.

No threshold is hard-coded

The 1099-NEC threshold had been $600 since 1954. It rose to $2,000 for tax years beginning after 2025. A module that had hard-coded it would have filed incorrectly for an entire season, silently.

Here, every threshold, every deadline, every box label is data carrying its source, its address and the date it was read. You see them, you change them, you file for a prior year by setting the threshold back to $600 without touching the code. Whatever could not be verified is written in a caveat displayed on screen — and repeated in the module's VERIFICATION.md file.

Three pitfalls the module won't let you fall into

  • Royalties are at $10, not $2,000. The 2026 increase did not affect them, nor attorney fees or fish purchases, which remain at $600.

  • The corporate exemption does not apply everywhere. Attorney fees and medical and health care payments must be reported even to a corporation. The module applies the exemption based on the recipient's status and the exception based on the box.

  • Amounts paid by card or through a platform are not reported here. They are reported by the entity that processed the transaction; reporting them again would make the same income appear twice for the payee. The payment stays in the register, marked as out of scope, with its reason.

The module records findings; it does not draw conclusions

It says that no valid W-9 covered the end of the period. It does not say whether to withhold the payment, apply backup withholding or terminate the contract. It says that an identifier does not have the expected number of digits; it never writes that it is wrong — only the tax authority can say that.

Free and paid

This module is free and sufficient for manual use: you enter payments, file the documents, prepare the return and print. The paid module dyo_paiements_st_na adds automatic matching to vendor bills, verification of the taxpayer ID with the tax authority and its fallback, the filing export, and corrections.

Not proven in production. No actual filing has been made with a government authority using this module. Regulatory values come from cited primary sources; have them checked by your advisor before relying on them.

Specifications

PriceFree
LicenseLGPL-3
Odoo series19.0: published on the Odoo Apps Store; 20.0: published on the Odoo Apps Store
Version1.0.2
EditionOdoo Community / on-premise
Technical namedyo_paiements_st_na_lite
DomainAccounting and finance
Premium versiondyo_paiements_st_na

Price excluding VAT as displayed on the Odoo Apps Store; purchase and installation are done on the Store or through your Omnifloo instance.