npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@earndrift/ten99

v0.1.0

Published

Year-aware IRS 1099-NEC threshold checker. Handles the OBBBA (Pub. L. 119-21) $600 → $2,000 jump for tax year 2026+. Zero dependencies.

Readme

@earndrift/ten99

Year-aware IRS 1099-NEC threshold checker for JavaScript & TypeScript. Handles the OBBBA (Pub. L. 119-21) jump from $600 → $2,000 for tax year 2026 and later. Zero dependencies.

npm version License: MIT

Brought to you by EarnDrift — 1099 payroll for businesses.


Why this exists

For 70 years the IRS 1099-NEC reporting threshold was $600. The One Big Beautiful Bill Act (signed July 4, 2025) raised it to $2,000 for payments made on or after January 1, 2026, with inflation indexing starting in 2027.

That sounds simple, but in practice you can't just hardcode 2000. During Q1 of any year, businesses are still filing for the prior tax year under the prior threshold. A payment dated Dec 31 2025 still gets a 1099 at $600; the same payment dated Jan 1 2026 doesn't until it hits $2,000. Get it wrong and you either over-file (annoying) or under-file (penalties).

This package gives you a single function: pass the payment year, get the right threshold.

Install

npm install @earndrift/ten99
# or
pnpm add @earndrift/ten99
# or
yarn add @earndrift/ten99

Usage

import {
  getThresholdForYear,
  getThresholdCentsForYear,
  getApproachingForYear,
  classifyTotal,
  isOverThreshold,
} from '@earndrift/ten99';

getThresholdForYear(2025);          // 600
getThresholdForYear(2026);          // 2000
getThresholdCentsForYear(2026);     // 200000  (for amount_cents columns)
getApproachingForYear(2026);        // 1500    (75% of threshold)

isOverThreshold(1999, 2026);        // false
isOverThreshold(2000, 2026);        // true

classifyTotal(1850, 2026);
// {
//   status: 'approaching',   // 'safe' | 'approaching' | 'over'
//   threshold: 2000,
//   pct: 0.925,
// }

CLI

npx @earndrift/ten99 threshold --year 2026
# → $2,000 (tax year 2026)

npx @earndrift/ten99 check --year 2026 --amount 1850
# → APPROACHING — $1,850 is 92.5% of the $2,000 threshold for tax year 2026.

npx @earndrift/ten99 check --year 2025 --amount 750
# → OVER — $750 ≥ $600 (125.0%). 1099-NEC required for tax year 2025.

API

| Function | Returns | Notes | | --- | --- | --- | | getThresholdForYear(year) | number (dollars) | $600 for ≤ 2025, $2,000 for ≥ 2026 | | getThresholdCentsForYear(year) | number (cents) | For columns stored as amount_cents | | getApproachingForYear(year) | number (dollars) | 75% of the year's threshold | | getApproachingCentsForYear(year) | number (cents) | 75% of the year's threshold, in cents | | formatThresholdLabel(year) | string | "$600" or "$2,000" for UI copy | | getCurrentTaxYear(now?) | number | Resolved in America/New_York to avoid Dec 31 / Jan 1 drift | | classifyTotal(dollars, year) | { status, threshold, pct } | status: 'safe' \| 'approaching' \| 'over' | | isOverThreshold(dollars, year) | boolean | true once dollars ≥ threshold | | centsToDollars(cents) | number | Trivial helper |

Constants

  • OBBBA_EFFECTIVE_YEAR2026
  • LEGACY_THRESHOLD_DOLLARS600
  • OBBBA_THRESHOLD_DOLLARS2000
  • APPROACHING_PCT0.75

A few things to know

  • Pass the payment year, not new Date().getFullYear(). A payment made Dec 28 2025 is a tax year 2025 payment ($600 threshold) even if you're calculating it in February 2026.
  • 2027+ holds at $2,000 until the IRS publishes the indexed figure each year via Rev. Proc. We'll bump this package when the official numbers land.
  • No network calls, no telemetry, no auth. Pure local math.

About EarnDrift

This package was extracted from the production codebase of EarnDrift — payroll-style payments and automated 1099 filing for businesses that pay contractors. EarnDrift handles the whole thing end to end: ACH payments, W-9 collection, year-round threshold tracking, and 1099-NEC filing.

If you're a business with contractors, the 1099 threshold checker for 2026 and the state-by-state 1099 rules on earndrift.com are the fastest way to see whether you need to file. The full app handles it for you automatically.

For the legislative context behind the $600 → $2,000 jump, see our OBBBA law-changes tracker.

License

MIT © EarnDrift