invoiceninja-extended

Extended Invoice Ninja node for n8n with Archive, Download, Mark Paid, and Mark Sent operations

Package Information

Released: 4 mo ago
Downloads: 8 weekly / 486 monthly
Latest Version: 1.0.2
Author: Patrick Vassell

Documentation

n8n-nodes-invoiceninja-extended

A community node for n8n that extends the built-in Invoice Ninja integration with additional operations not yet available in the official node.

What this adds

The official n8n Invoice Ninja node is missing several key operations for Invoice Ninja v5. This package adds:

Operation Description
Archive Archive an invoice (v4 and v5)
Mark Sent Mark an invoice as sent (v4 and v5)
Mark Paid Mark an invoice as paid (v5 only)
Download Download the invoice as a PDF binary (v5 only)

It also fixes the email invoice endpoint for Invoice Ninja v5, which uses a different API path than v4.

Installation

In your n8n instance, go to Settings → Community Nodes → Install and enter:

n8n-nodes-invoiceninja-extended

Or via npm:

npm install n8n-nodes-invoiceninja-extended

Requirements

  • n8n v0.187.0 or later
  • Invoice Ninja v4 or v5
  • An Invoice Ninja API key (add via Credentials → Invoice Ninja API)

Usage

Once installed, search for Invoice Ninja in the node panel. The node will appear alongside the built-in one but includes the additional operations in the dropdown.

For the Download operation, the PDF is returned as binary data. Connect it to a Write Binary File or Google Drive node to save it.

Background

This node was built to support an automated workflow that:

  1. Detects a new Duke Energy bill in Gmail
  2. Parses the PDF statement
  3. Creates a combined rent + electric invoice in Invoice Ninja
  4. Emails it to the tenant
  5. Marks the Gmail thread as processed

The missing markPaid, markSent, archive, and download operations were needed to fully manage the invoice lifecycle without leaving n8n.

A PR to add these operations to n8n core is open at n8n-io/n8n#24358.

Development

Setup

npm install

Code Quality

This project uses automated code quality tools:

npm run lint        # Check for linting issues
npm run lint:fix    # Auto-fix linting issues
npm run format      # Format code with Prettier
npm run typecheck   # TypeScript type checking
npm run build       # Build the project

Pre-commit Hooks

Pre-commit hooks automatically run formatting and type checking before each commit. This ensures:

  • Code is consistently formatted (matches n8n core style)
  • TypeScript errors are caught before committing
  • No broken code makes it into the repository

If you need to bypass hooks temporarily (not recommended):

git commit --no-verify

GitHub Actions

CI/CD workflows are included but require a standalone GitHub repository to function. They're currently inactive since this code lives in the n8n monorepo. If you create a standalone repository for this package, the workflows will automatically run on push and PR.

License

MIT

Discussion