Community nodes for integrating NFe.io with n8n.
These nodes let you issue and manage Brazilian electronic service invoices (NFS-e) via the NFe.io API directly from your n8n workflows.
Note: This is a community package. It is not officially maintained by n8n GmbH.
Current version focuses on the Service Invoice resource and supports:
- Issue a new service invoice (NFS-e)
- Get a specific service invoice by ID
- Get Many service invoices for a company
- Get by External ID using your own external identifier
- Cancel an issued service invoice
- Download PDF representation of an invoice
- Download XML representation of an invoice
- Send Email with the invoice to the borrower
All requests are made against the official NFe.io REST API and use a shared error-handling layer to surface API errors clearly inside n8n.
Before using this package you will need:
- A running n8n instance that supports Community Nodes (n8n v1+)
- An active NFe.io account
- At least one configured company in NFe.io
- An NFe.io API key with permission to access the desired company
Please refer to the official NFe.io documentation for details on account and company setup: https://nfe.io/docs/
- Open your n8n editor UI.
- Go to Settings → Community Nodes.
- Click Install.
- Enter the package name
n8n-nodes-nfe. - Confirm the installation and restart n8n if requested.
After installation, the NFe.io node will be available in the node picker.
If you manage n8n as a local or self-hosted instance and prefer manual installation:
-
Navigate to your n8n installation directory.
-
Install the package:
npm install n8n-nodes-nfe
-
Restart your n8n instance so it can load the new nodes.
For more details, see the official n8n documentation on Community Nodes: https://docs.n8n.io/integrations/community-nodes/
The nodes use a dedicated Nfe API credential type.
- In n8n, go to Settings → Credentials.
- Click New and search for Nfe API.
- Paste your NFe.io API Key into the API Key field.
- Save the credential.
Under the hood, requests are authenticated using the Authorization header with your API key. A quick test request is performed against https://api.nfe.io/v1/companies to validate the credential.
Once configured, select this credential in the NFe.io node under the Credentials section.
- Display name: NFe.io
- Resource:
Service Invoice - Inputs: Main
- Outputs: Main
Each operation requires a Company ID field, which is the identifier of the company in NFe.io that owns the invoices.
-
Issue
- Create a new service invoice (NFS-e) for a given company.
- Uses
POST /v1/companies/{companyId}/serviceinvoices.
-
Get
- Retrieve full details for a single invoice by its NFe.io invoice ID.
- Uses
GET /v1/companies/{companyId}/serviceinvoices/{invoiceId}.
-
Get Many
- List multiple invoices for a company, optionally with filters (date ranges, status, pagination, etc., depending on the configured fields).
- Uses
GET /v1/companies/{companyId}/serviceinvoices.
-
Get by External ID
- Retrieve an invoice using your own external ID that was associated when issuing the invoice.
- Uses
GET /v1/companies/{companyId}/serviceinvoices/externalId/{externalId}.
-
Cancel
- Cancel an issued invoice, where allowed by the municipality and NFe.io rules.
- Uses
DELETE /v1/companies/{companyId}/serviceinvoices/{invoiceId}.
-
Download PDF
- Download the PDF representation of an invoice.
- Uses
GET /v1/companies/{companyId}/serviceinvoices/{invoiceId}/pdf.
-
Download XML
- Download the XML representation of an invoice.
- Uses
GET /v1/companies/{companyId}/serviceinvoices/{invoiceId}/xml.
-
Send Email
- Trigger an email with the invoice to be sent to the borrower.
- Uses
PUT /v1/companies/{companyId}/serviceinvoices/{invoiceId}/sendemail.
All operations share a common error parser so API validation and business errors from NFe.io are exposed clearly to your workflow.
Here are some common ways to use the NFe.io node inside n8n:
- Receive order data from your e-commerce/ERP system (e.g. via webhook or database node).
- Map the customer and service details into the Issue operation fields of the NFe.io node.
- Store the returned NFe.io invoice ID or external ID in your system for later reference.
- After issuing an invoice, add another NFe.io node with the Send Email operation.
- Use the
invoiceIdreturned by the previous step. - Optionally combine with other n8n nodes (e.g. Slack, email, CRM) to notify internal teams.
- Use a Cron node to trigger a workflow periodically.
- Add an NFe.io node with the Get Many operation to list recent invoices.
- Upsert the invoice data into your internal database or analytics tooling.
For request/response formats and advanced parameters, always refer to the official NFe.io API reference: https://nfe.io/docs/rest-api/.
- These nodes currently support only the Service Invoice (NFS-e) resource.
- NFe.io is specific to Brazilian tax regulations and municipalities; some behaviors may vary by city.
- You must have your company and services correctly configured in NFe.io for issuing invoices to succeed.
- Network connectivity and NFe.io availability are required for all operations.
Future versions may add additional resources and operations as needed.
If you want to work on this package locally:
-
Clone the repository:
git clone https://github.com/nfeio/n8n-nodes-nfe.git cd n8n-nodes-nfe -
Install dependencies:
npm install
-
Run in development mode:
npm run dev
This uses the
@n8n/node-clito run the node in a local n8n environment. -
Build the production bundle:
npm run build
-
Lint the code:
npm run lint # or npm run lint:fix
For publishing a new version to npm, follow the usual n8n-node release flow using the npm run release script.
If you run into problems using these nodes:
- Check the NFe.io API status and documentation: https://status.nfe.io/ and https://nfe.io/docs/
- Open an issue in this repository: https://github.com/nfeio/n8n-nodes-nfe/issues
Bug reports and feature requests are welcome.
This project is licensed under the MIT License.
See the package metadata and repository for full license details.