JSNES vs OpenInvoice
JSNES
github.comOpenInvoice
github.comSide by side
| Figure | JSNES | OpenInvoice |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Linux | Yes | — |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · NES Emulators | 8.3 (#3) | 7.3 (#16) |
| Purpose | JSNES is a JavaScript NES emulator library that works in browsers and Node.js. | OpenInvoice extracts structured data from PDF or image invoices. |
Plans
In their own words
JSNES
JSNES is a free JavaScript library for emulating NES games in browsers and Node.js. Its Browser helper handles canvas rendering, audio, keyboard and gamepad input, and frame timing; the lower-level NES class allows custom rendering and audio handling in Node.js. ROM data can be loaded from a URL or from a string, Uint8Array, or ArrayBuffer. The API runs frames, accepts controller input for either player, resets, adjusts frame rate, and includes methods for moving and triggering the Zapper. Applications can serialize and restore emulator state with `toJSON()` and `fromJSON()`. The `onBatteryRamWrite` callback lets an application capture battery-backed SRAM writes for persistent game saves. Sound emulation is enabled by default, with a default sample rate of 48000 Hz, and an audio callback is available. The README provides npm installation for Node.js or Webpack and an unpkg script for browser use, as well as a React embedding example. JSNES is licensed under Apache-2.0; its GitHub Issues tracker accepts bug reports and feature requests.
OpenInvoice
OpenInvoice extracts structured information from PDF and image invoices, then lets users check the results against the source document, correct fields, and export CSV or JSON. It identifies supplier and client details, invoice number, date, totals, tax, currency, SIRET, VAT number, client number, and line items. Processing starts with regular-expression patterns and invoice2data templates, using a MiniMax M2.7 language model only when required fields remain missing. The project lists English, French, German, and Swiss formats and more than 190 vendor templates. Its dashboard tracks processing volume, success rates, supplier distribution, and language-model costs. The API covers extraction, webhook ingestion, document management, CSV export, dashboard statistics, and quality metrics. Typical connections include Microsoft Teams, Outlook or email through Power Automate, OneDrive or SharePoint, and webhooks. OpenInvoice can run on customer infrastructure and connect to ERP, accounting, Microsoft 365, and email systems. The code is free and open source; deployment, integration, and ongoing support are paid services.