Darmowy szablon automatyzacji

Generuj faktury PDF za pomocą interfejsu API CustomJS

2473
26 dni temu
5
bloków


n8n Workflow: Generator faktur PDF

Ten workflow w n8n przechwytuje dane faktury i generuje fakturę w formacie PDF, gotową do wysłania lub zapisania. Wykorzystuje webhook do uruchomienia procesu, przetwarza dane faktury i konwertuje je do formatu PDF przy użyciu HTML i niestandardowego stylu.

Funkcje

  • Webhook Trigger: Odbiera przychodzące dane, w tym szczegóły faktury.
  • Przetwarzanie wstępne: Przekształca dane faktury w format HTML.
  • Konwersja HTML do PDF: Konwertuje przetworzony HTML na sformatowany dokument PDF.
  • Odpowiedź: Wysyła wygenerowany PDF z powrotem jako odpowiedź na webhook.

Uwaga

Węzły społecznościowe można zainstalować tylko na samodzielnie hostowanych instancjach n8n.

Wymagania

  • Samodzielnie hostowana instancja n8n.
  • Klucz API CustomJS do tworzenia zrzutów ekranu stron internetowych.
  • Dane faktury do generowania PDF.

Kroki workflow

  • Webhook Trigger: Akceptuje przychodzące dane (np. numer faktury, dane odbiorcy, lista pozycji). Dane te są przekazywane do następnego węzła w celu przetworzenia.
  • Set Data Node: Konfiguruje początkowe wartości dla faktury, w tym odbiorcę, nadawcę, numer faktury i pozycje na fakturze. Szczegóły faktury obejmują informacje takie jak opis, cena jednostkowa i ilość.
  • Preprocess Node: Przetwarza surowe dane, aby sformatować je poprawnie dla HTML. Obejmuje to podział adresów i konwersję pozycji na format tabeli HTML.
  • HTML to PDF Conversion: Konwertuje wygenerowany HTML na dokument PDF. HTML zawiera nagłówek, szczegółową tabelę faktury i stopkę z informacjami kontaktowymi.
  • Respond to Webhook: Zwraca wygenerowany PDF jako odpowiedź na początkową prośbę webhook.

Przewodnik konfiguracji

  1. Skonfiguruj CustomJS API: Zarejestruj się w CustomJS. Pobierz swój klucz API ze strony profilu. Dodaj swój klucz API jako poświadczenia n8n.
  2. Zaprojektuj workflow: Utwórz webhook, aby uruchomić workflow po otrzymaniu danych faktury. Przygotuj dane, upewniając się, że przychodzące żądanie zawiera pola takie jak "Invoice No", "Bill To", "From" i "Details" (lista pozycji z ceną i ilością). Dostosuj HTML, aby nadać fakturze profesjonalny wygląd. Skonfiguruj węzeł HTML do PDF z danymi wygenerowanymi w kroku przetwarzania wstępnego, aby przekonwertować HTML faktury na format PDF.

Przykładowe dane faktury

{
  "Invoice No": "1",
  "Bill To": "John Doe\n1234 Elm St, Apt 567\nCity, Country, 12345",
  "From": "ABC Corporation\n789 Business Ave\nCity, Country, 67890",
  "Details": [
    {
      "description": "Web Hosting",
      "price": 150,
      "qty": 2
    },
    {
      "description": "Domain",
      "price": 15,
      "qty": 5
    }
  ],
  "Email": "support@mycompany.com"
}

Przykłady zastosowań

Automatyzacja generowania faktur PDF w n8n może być wykorzystana w wielu scenariuszach biznesowych, usprawniając procesy i oszczędzając czas. Oto kilka potencjalnych zastosowań:

  • Automatyczne wysyłanie faktur do klientów po zakończeniu usługi.
  • Generowanie faktur na podstawie danych z systemu CRM lub ERP.
  • Tworzenie faktur pro forma dla potencjalnych klientów.
  • Automatyzacja rozliczeń wewnętrznych między działami firmy.
  • Integracja z systemami e-commerce do automatycznego generowania faktur za zamówienia.
  • Generowanie faktur zbiorczych dla stałych klientów na koniec miesiąca.
  • Tworzenie faktur w różnych językach i walutach dla klientów międzynarodowych.


   Skopiuj kod szablonu   
{"meta":{"instanceId":"fcf18fc485cc336a31bc65574fd28e124660f468281b7aad773616b17903afe6","templateCredsSetupCompleted":true},"nodes":[{"id":"de602925-4d9d-4045-9d9d-ed37dfb65490","name":"HTML to PDF","type":"@custom-js/n8n-nodes-pdf-toolkit.html2Pdf","position":[460,-20],"parameters":{"htmlInput":"=nnnnnInvoicennnnn
n
n

Invoice

n

Invoice #{{ $('Set data').item.json['Invoice No'] }}

n
nn
n
n

Billed To:

n {{ $json.bill_to }}n
n
n

From:

n {{ $json.from }}n

Email: {{ $('Set data').item.json.Email }}

n
n
nnnnnnnnnnnn {{ $json.details }}nnnnnn
DescriptionUnit PriceQuantityTotal
Total Amount${{ $json.total }}
nnn
nnn"},"credentials":{"customJsApi":{"id":"SZkqeEHVYyWhaGem","name":"CustomJS account"}},"typeVersion":1},{"id":"5a8efc8a-c60b-4616-a17a-6275cc326978","name":"Preprocess","type":"n8n-nodes-base.code","position":[240,-20],"parameters":{"mode":"runOnceForEachItem","jsCode":"const input = $input.item.jsonnconst bill_to = input['Bill To'].split('\n').map(item => '

' + item + '

')nconst from = input['From'].split('\n').map(item => '

' + item + '

')nconst details = input['Details'].map(item => {n const price = item.price*item.qtyn return `nn${item.description}n$${item.price}n${item.qty}n$${price}nn `n})nconst total = input['Details'].reduce((val, next) => {ntreturn val+next.price*next.qtyn}, 0)nreturn {n bill_to: bill_to.join('\n'),n from: from.join('\n'),n details: details.join('\n'),n totaln}"},"typeVersion":2},{"id":"7da4fb46-1f74-44d8-8392-16fc90f23928","name":"Set data","type":"n8n-nodes-base.set","position":[20,-20],"parameters":{"options":{},"assignments":{"assignments":[{"id":"5342001f-a513-46c3-b31f-4590e8514411","name":"Invoice No","type":"string","value":"1"},{"id":"ec357d39-c697-4bb8-8d9d-1bc303352dd0","name":"Bill To","type":"string","value":"John Doen1234 Elm St, Apt 567nCity, Country, 12345"},{"id":"88d6b470-4075-43ec-a684-a4adfd889278","name":"From","type":"string","value":"ABC Corporationn789 Business AvenCity, Country, 67890"},{"id":"061a8020-644a-4cec-bade-3bcd7e15adee","name":"Details","type":"array","value":"[ { "description": "Web Hosting", "price": 150, "qty": 2 }, { "description": "Domain", "price": 15, "qty": 5 } ]"},{"id":"1c2c6c4b-6aa5-4656-8cae-43ffac71d478","name":"Email","type":"string","value":"support@mycompany.com"}]}},"typeVersion":3.4},{"id":"a6d39cc4-b9c2-4eed-b4a6-46d622a87c14","name":"Webhook","type":"n8n-nodes-base.webhook","position":[-200,-20],"webhookId":"526fd864-6f85-4cde-97aa-39b61a3e5b83","parameters":{"path":"526fd864-6f85-4cde-97aa-39b61a3e5b83","options":{},"responseMode":"responseNode"},"typeVersion":2},{"id":"c7d1cc1d-88e3-463a-886f-182a2ba72b11","name":"Respond to Webhook","type":"n8n-nodes-base.respondToWebhook","position":[660,-20],"parameters":{"options":{},"respondWith":"binary"},"typeVersion":1.1}],"pinData":{},"connections":{"Webhook":{"main":[[{"node":"Set data","type":"main","index":0}]]},"Set data":{"main":[[{"node":"Preprocess","type":"main","index":0}]]},"Preprocess":{"main":[[{"node":"HTML to PDF","type":"main","index":0}]]},"HTML to PDF":{"main":[[{"node":"Respond to Webhook","type":"main","index":0}]]}}}
  • cpde
  • Javascript
  • JS
  • Python
  • Script
  • Custom Code
  • Function
Planeta AI 2025 
magic-wandmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram