@pdfgeneratorapi/n8n-nodes-pdf-generator-api 0.4.0 โ†’ 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,6 +12,7 @@ PDF Generator API is a powerful service that allows you to generate PDFs from te
12
12
  [Compatibility](#compatibility)
13
13
  [Usage](#usage)
14
14
  [Resources](#resources)
15
+ [Development](#development)
15
16
  [Version history](#version-history)
16
17
 
17
18
  ## Installation
@@ -55,6 +56,17 @@ This node supports the following operations organized by resource:
55
56
  - **HTML to PDF** - Convert HTML content directly to PDF
56
57
  - **URL to PDF** - Convert a public URL to PDF
57
58
 
59
+ ### E-Invoice
60
+ - **Create E-Invoice** - Create an EN 16931 e-invoice as UBL or CII XML
61
+ - **Create Factur-X E-Invoice** - Create a Factur-X PDF with the CII XML embedded, rendered from a template
62
+ - **Create XRechnung E-Invoice** - Create an XRechnung 3.0 e-invoice, validated against the German BR-DE rules
63
+ - **Get Schema** - Get the JSON schema of the accepted invoice payload
64
+
65
+ Notes for the three Create operations:
66
+ - Base64 and file outputs both attach the document as a binary item named `data`
67
+ - Validation errors from the API (for example `[BR-DE-2]`) are shown in the node error
68
+ - Known API limitations: BT-11, BT-12, BT-19 and attachments are accepted but not written to the output, and an attachment with unpadded base64 returns a 500
69
+
58
70
  ### PDF Services
59
71
  - **Add Watermark** - Add text or image watermarks to PDF documents
60
72
  - **Encrypt Document** - Encrypt PDF documents with password protection
@@ -89,8 +101,7 @@ The node automatically handles JWT token generation using your API credentials.
89
101
 
90
102
  ## Compatibility
91
103
 
92
- - **Minimum n8n version**: 0.199.0
93
- - **Tested with**: n8n versions 0.199.0+
104
+ - **Minimum n8n version**: 1.85.0
94
105
  - **Node API version**: 1
95
106
 
96
107
  ## Usage
@@ -117,6 +128,16 @@ The node automatically handles JWT token generation using your API credentials.
117
128
  4. Configure paper size and orientation
118
129
  5. Specify filename and output format
119
130
 
131
+ ### E-Invoice Generation
132
+ 1. Select **Resource**: E-Invoice
133
+ 2. Run **Get Schema** once to see the payload structure (Peppol BIS Billing 3.0 UBL, rooted at `ubl:Invoice`)
134
+ 3. Select **Create E-Invoice**, **Create XRechnung E-Invoice** or **Create Factur-X E-Invoice**
135
+ 4. Provide the invoice JSON in **Invoice Data**
136
+ 5. For Factur-X, choose a template whose fields are mapped to UBL element names (for example `{cbc:ID}`), and pick a **Profile**. The default Basic profile drops item level detail, so use EN 16931 or Extended when lines carry extra attributes
137
+ 6. The XML or PDF is attached as binary `data`, ready for an email or upload node
138
+
139
+ XRechnung is the strictest option: the seller contact (BG-6) and a buyer reference (BT-10) are mandatory, and a missing element fails with the rule ID in the error message.
140
+
120
141
  ### PDF Processing
121
142
  - **Watermarking**: Add text or image watermarks with positioning options
122
143
  - **Encryption**: Protect PDFs with owner and user passwords
@@ -166,8 +187,36 @@ For workflows that should continue on errors, enable "Continue on Fail" in node
166
187
  * [Template Editor Guide](https://support.pdfgeneratorapi.com/en/category/components-1ffseaj/)
167
188
  * [Expression Language Documentation](https://support.pdfgeneratorapi.com/en/category/expression-language-q203pa/)
168
189
 
190
+ ## Development
191
+
192
+ ```bash
193
+ npm ci
194
+ npm run hooks:install # once per clone, runs npm run check before every commit
195
+ npm run check # build, unit tests, lint and n8n's scanner lint
196
+ ```
197
+
198
+ - `npm test` builds the node and runs the unit tests in `test/`. They run the node against a fake n8n context, so no API credentials are needed.
199
+ - `npm run lint:n8n` runs the lint checks of n8n's community package scanner (`@n8n/scan-community-package`), which n8n runs on every published version of a verified node. The scanner is installed separately in `tools/n8n-scan`.
200
+ - Releases are published by the GitHub Actions workflow when a version tag is pushed: bump `version` in `package.json`, merge to `master`, then push a tag with the same version, for example `git tag 0.5.1 && git push origin 0.5.1`.
201
+
169
202
  ## Version history
170
203
 
204
+ ### 0.5.1
205
+ - ๐Ÿ”ง **Improved**: Passes n8n's community package scanner, required for verified nodes
206
+ - Requests use `httpRequestWithAuthentication` instead of the deprecated `requestWithAuthentication`
207
+ - Output items keep their link to the input item (`pairedItem`)
208
+ - The credentials have an icon
209
+ - ๐Ÿ› **Fixed**: Error messages from the API are shown for file outputs too, not only the HTTP status
210
+ - ๐Ÿ› **Fixed**: Workspace Delete returns a success item instead of failing on an empty response
211
+ - ๐Ÿ”ง **Breaking**: Requires n8n 1.85.0 or later
212
+ - ๐Ÿงช **New**: Unit tests and a pre-commit hook that runs the same checks as the publish workflow
213
+
214
+ ### 0.5.0
215
+ - **New**: Added E-Invoice resource
216
+ - Create E-Invoice (EN 16931, UBL or CII), Create Factur-X E-Invoice, Create XRechnung E-Invoice, Get Schema
217
+ - Base64 and file outputs attach the document as binary `data`
218
+ - API validation messages are surfaced in the node error instead of a generic HTTP status text
219
+
171
220
  ### 0.4.0
172
221
  - **New**: Added Asset resource with QR code generation
173
222
  - Generate QR codes with customizable colors
@@ -2,6 +2,10 @@ import { ICredentialDataDecryptedObject, ICredentialTestRequest, ICredentialType
2
2
  export declare class PdfGeneratorApi implements ICredentialType {
3
3
  name: string;
4
4
  displayName: string;
5
+ icon: {
6
+ readonly light: "file:pdfgeneratorapi.svg";
7
+ readonly dark: "file:pdfgeneratorapi.svg";
8
+ };
5
9
  documentationUrl: string;
6
10
  properties: INodeProperties[];
7
11
  private validateCredentials;
@@ -6,6 +6,7 @@ class PdfGeneratorApi {
6
6
  constructor() {
7
7
  this.name = 'pdfGeneratorApi';
8
8
  this.displayName = 'PDF Generator API';
9
+ this.icon = { light: 'file:pdfgeneratorapi.svg', dark: 'file:pdfgeneratorapi.svg' };
9
10
  this.documentationUrl = 'https://docs.pdfgeneratorapi.com/v4';
10
11
  this.properties = [
11
12
  {
@@ -1 +1 @@
1
- {"version":3,"file":"PdfGeneratorApi.credentials.js","sourceRoot":"","sources":["../../credentials/PdfGeneratorApi.credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PdfGeneratorApi.credentials.js","sourceRoot":"","sources":["../../credentials/PdfGeneratorApi.credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ <svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 53 49" class="w-10" width="53" height="49" ><path fill="#02D1AE" d="M25.5 1.38A6.89 6.89 0 0 0 19.35.3L4.957 4.616A6.914 6.914 0 0 0 0 11.28v30.76a6.89 6.89 0 0 0 2.804 5.578 6.9 6.9 0 0 0 6.15 1.082l10.743-3.224a11.8 11.8 0 0 1-.506-3.437V28.07a11.7 11.7 0 0 1 3.017-7.883 11.8 11.8 0 0 1 5.357-3.375l.738-.211V6.962A6.9 6.9 0 0 0 25.5 1.381"></path><path fill="#02D1AE" d="M52.289 23.752v13.97a6.91 6.91 0 0 1-4.958 6.66L32.939 48.7a6.89 6.89 0 0 1-6.15-1.082 7 7 0 0 1-1.441-1.439 6.8 6.8 0 0 1-1.075-2.144q-.003 0-.007.002l.005-.005a7.1 7.1 0 0 1-.286-1.993V28.07c0-1.433.427-2.779 1.18-3.897a6.9 6.9 0 0 1 3.779-2.765l1.76-.528 12.631-3.79a6.89 6.89 0 0 1 6.15 1.082 6.9 6.9 0 0 1 2.804 5.581"></path></svg>