Namespace: invoices
Namespace invoices odpowiada za komunikację z KSeF API poprzez adapter. Pozwala pobierać, wysyłać i listować faktury.
fetch()
Dział zatytułowany „fetch()”Pobiera faktury z KSeF przez adapter i zapisuje je do storage.
async fetch(opts: FetchInvoicesOpts): Promise<Invoice[]>FetchInvoicesOpts
Dział zatytułowany „FetchInvoicesOpts”| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
from | string | tak | Data początkowa (format YYYY-MM-DD) |
to | string | tak | Data końcowa (format YYYY-MM-DD) |
nip | string | nie | Filtruj po NIP kontrahenta |
pageSize | number | nie | Rozmiar strony paginacji |
pageOffset | number | nie | Offset paginacji |
Przykład
Dział zatytułowany „Przykład”const invoices = await ksefnik.invoices.fetch({ from: '2025-01-01', to: '2025-03-31', nip: '9876543210',})
console.log(`Pobrano ${invoices.length} faktur`)Wysyła fakturę do KSeF. Zwraca numer referencyjny KSeF i timestamp.
async send(input: SendInvoiceInput): Promise<SendInvoiceResult>SendInvoiceInput
Dział zatytułowany „SendInvoiceInput”| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
xml | string | tak | Faktura w formacie XML zgodnym z KSeF |
nip | string | tak | NIP wystawcy faktury |
SendInvoiceResult
Dział zatytułowany „SendInvoiceResult”| Pole | Typ | Opis |
|---|---|---|
ksefReference | string | Numer referencyjny KSeF |
timestamp | string | Znacznik czasu przyjęcia |
Przykład
Dział zatytułowany „Przykład”const result = await ksefnik.invoices.send({ xml: invoiceXml, nip: '1234567890',})
console.log(`Faktura przyjęta: ${result.ksefReference}`)getUpo()
Dział zatytułowany „getUpo()”Pobiera UPO (Urzędowe Poświadczenie Odbioru) dla faktury.
async getUpo(ksefReference: string): Promise<UpoResult>UpoResult
Dział zatytułowany „UpoResult”| Pole | Typ | Opis |
|---|---|---|
ksefReference | string | Numer referencyjny KSeF |
upoXml | string | UPO w formacie XML |
status | 'confirmed' | 'pending' | 'rejected' | Status przetworzenia |
Przykład
Dział zatytułowany „Przykład”const upo = await ksefnik.invoices.getUpo('1234567890-20250101-ABC123DEF456')
if (upo.status === 'confirmed') { console.log('Faktura potwierdzona przez KSeF')} else if (upo.status === 'pending') { console.log('Faktura w trakcie przetwarzania')}Zwraca faktury zapisane w storage (wcześniej pobrane przez fetch()).
async list(): Promise<Invoice[]>Przykład
Dział zatytułowany „Przykład”// Najpierw pobierz z KSeFawait ksefnik.invoices.fetch({ from: '2025-01-01', to: '2025-03-31' })
// Później odczytaj ze storage (bez zapytania do API)const invoices = await ksefnik.invoices.list()Pełny przepływ
Dział zatytułowany „Pełny przepływ”import { createKsefnik } from '@ksefnik/core'import { createSimulatorAdapter } from '@ksefnik/simulator'
const ksefnik = createKsefnik({ config: { nip: '1234567890', environment: 'test' }, adapter: createSimulatorAdapter({ scenario: 'happy-path' }),})
// 1. Pobierz fakturyconst invoices = await ksefnik.invoices.fetch({ from: '2025-01-01', to: '2025-12-31',})
// 2. Wyślij nową fakturęconst result = await ksefnik.invoices.send({ xml: '<Faktura>...</Faktura>', nip: '1234567890',})
// 3. Sprawdź UPOconst upo = await ksefnik.invoices.getUpo(result.ksefReference)
// 4. Listuj wszystkie z storageconst all = await ksefnik.invoices.list()