Przejdź do głównej zawartości

Namespace: invoices

Namespace invoices odpowiada za komunikację z KSeF API poprzez adapter. Pozwala pobierać, wysyłać i listować faktury.

Pobiera faktury z KSeF przez adapter i zapisuje je do storage.

async fetch(opts: FetchInvoicesOpts): Promise<Invoice[]>
PoleTypWymaganeOpis
fromstringtakData początkowa (format YYYY-MM-DD)
tostringtakData końcowa (format YYYY-MM-DD)
nipstringnieFiltruj po NIP kontrahenta
pageSizenumbernieRozmiar strony paginacji
pageOffsetnumbernieOffset paginacji
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>
PoleTypWymaganeOpis
xmlstringtakFaktura w formacie XML zgodnym z KSeF
nipstringtakNIP wystawcy faktury
PoleTypOpis
ksefReferencestringNumer referencyjny KSeF
timestampstringZnacznik czasu przyjęcia
const result = await ksefnik.invoices.send({
xml: invoiceXml,
nip: '1234567890',
})
console.log(`Faktura przyjęta: ${result.ksefReference}`)

Pobiera UPO (Urzędowe Poświadczenie Odbioru) dla faktury.

async getUpo(ksefReference: string): Promise<UpoResult>
PoleTypOpis
ksefReferencestringNumer referencyjny KSeF
upoXmlstringUPO w formacie XML
status'confirmed' | 'pending' | 'rejected'Status przetworzenia
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[]>
// Najpierw pobierz z KSeF
await 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()
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 faktury
const 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ź UPO
const upo = await ksefnik.invoices.getUpo(result.ksefReference)
// 4. Listuj wszystkie z storage
const all = await ksefnik.invoices.list()