Oprogramowanie inFakt przygotuje plik w formacie FA(3), wyśle go do środowiska testowego i odbierze numer KSeF.
Wymagania
- Konto w sandboxie i klucz API z uprawnieniami do faktur (Szybki start, kroki 1–2).
- Klucz zapisany w zmiennej
INFAKT_API_KEY.
Konto w sandboxie jest automatycznie połączone z testowym KSeF ↗. Na produkcji integrację konfiguruje się jednorazowo w aplikacji inFakt, za pomocą certyfikatu KSeF.
Kroki
Sprawdzenie połączenia z KSeF
curl "https://api.sandbox-infakt.pl/v3/ksef2/integration.json" \ -H "X-inFakt-ApiKey: $INFAKT_API_KEY"{ "active": true, "costs_last_fetched_at": "<data>", "incomes_last_fetched_at": "<data>", "last_check_at": "<data>" }Wartość
"active": trueoznacza, że konto może wysyłać faktury do KSeF.Wystawienie faktury z wysyłką do KSeF
Parametr
send_to_ksef=truepowoduje wysłanie faktury do KSeF zaraz po jej utworzeniu:curl -X POST "https://api.sandbox-infakt.pl/v3/invoices.json?send_to_ksef=true" \ -H "X-inFakt-ApiKey: $INFAKT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "invoice": { "payment_method": "cash", "client_company_name": "Testowa Firma sp. z o.o.", "client_tax_code": "2222222222", "services": [ { "name": "Usługa programistyczna", "tax_symbol": "23", "quantity": 1, "unit_net_price": 10000 } ] } }'Identyfikator
uuidfaktury z odpowiedzi zapisuje się na potrzeby kolejnego kroku:export INVOICE_UUID=<uuid-faktury>Sprawdzenie statusu w KSeF
curl "https://api.sandbox-infakt.pl/v3/ksef2/documents/$INVOICE_UUID/status.json" \ -H "X-inFakt-ApiKey: $INFAKT_API_KEY"Bezpośrednio po wysyłce status ma wartość
pendinglubsent. Żądanie należy ponawiać co kilka sekund, aż status zmieni się nasuccess.
Oczekiwany wynik
{
"request_uuid": "<uuid-wysyłki>",
"invoice_uuid": "<uuid-faktury>",
"invoice_kind": "vat",
"ksef_number": "<numer-ksef>",
"status": "success",
"status_description": "<opis>",
"timestamps": {
"request_created_at": "<data>",
"request_finished_at": "<data>"
}
}Pole ksef_number zawiera numer nadany fakturze przez KSeF. Od tego momentu faktura jest dostępna dla nabywcy w KSeF.
Następny krok
Wysyłka faktury do KSeF: wysyłka istniejącej faktury, statusy przetwarzania, błędy i webhooki.