Faktury transportowe (FK/FP)
Faktury transportowe to dokumenty powiązane ze zleceniem. Trzyma je tabela FAKTURA_TRA (pozycje w FAKTURA_TRA_SPEC), a logikę — pakiet FAKTURA_TRA_PKG. O kierunku transakcji decyduje kolumna RODZAJ_TRANSAKCJI.
FK vs FP — kierunek transakcji
FAKTURA_TRA.RODZAJ_TRANSAKCJI (komentarz w DDL: „S - sprzedaż (przychód), Z - zakup (koszt), SW - sprzedaż wewnątrz firmy, ZW - zakup wewnątrz firmy”):
| Wartość | Dokument | Strona zlecenia | Specyfikacja z |
|---|---|---|---|
S | FK — faktura klienta (sprzedaż) | ZLECENIE (klient) | p_save_income_specification |
Z | FP — faktura przewoźnika (zakup) | ZLECENIE_PRZEWOZNIK | p_save_outcome_specification |
SW / ZW | faktura wewnętrzna (między spółkami VAN) | — | p_generate_internal_invoices |
W pozycjach (FAKTURA_TRA_SPEC) RODZAJ_TRANSAKCJI decyduje, czy ID_ZLECENIA wskazuje na ZLECENIE (S), czy ZLECENIE_PRZEWOZNIK (Z).
Generowanie faktury
Rdzeniem jest FAKTURA_TRA_PKG.f_generate_invoice (wariant proceduralny: p_generate_invoice), który tworzy fakturę zwykłą, korektę (KORE) lub proformę i zwraca ID dokumentu:
- ustalenie kierunku (
S/Z) i nadanie numeru przezF_GET_DOCUMENT_NUMBER(klasyFV_TRANS_S,KOR_TRANS_S,SPRZEDAZ_PROFORMA— zob. Rejestry i numeracja), - zapis nagłówka (
STATUS_FAKTURY = 'TMP'w trakcie,'VALID'po zapisaniu), - zapis pozycji:
p_save_income_specification(FK, ze zleceń klienta) albop_save_outcome_specification(FP, ze zleceń przewoźnika; obsługuje „płać natychmiast” —PLAC_NATYCHMIAST_F), - opcjonalnie wygenerowanie XML do KSeF i druk PDF.
Pomocnicze: f_get_client_invoice / f_get_carrier_invoice (pobranie faktury powiązanej ze zleceniem), f_is_order_on_invoice (czy zlecenie jest już na fakturze), f_validate_invoice_company (walidacja spółki).
FAKTURA_TRA i FAKTURA_TRA_SPEC idzie przez TAPI — FAKTURA_TRA_TAPI_PKG i FAKTURA_TRA_SPEC_PKG (dyspozytory INSERT/UPDATE/DELETE wywoływane z formularzy APEX).Kluczowe kolumny FAKTURA_TRA
| Kolumna | Znaczenie |
|---|---|
RODZAJ_TRANSAKCJI | S / Z / SW / ZW |
TYP_DOKUMENTU | typ dokumentu (FV, KORE, proforma…) |
NUMER_FAKTURY | numer nadany przez F_GET_DOCUMENT_NUMBER |
SEKCJA, ID_KONTRAHENT, ID_PODMIOT, ID_SPOLKA | sekcja i strony dokumentu |
DATA_FAKTURY, DATA_SPRZEDAZY, TERMIN_PLATNOSCI, TERMIN_PLATNOSCI_DNI | daty i termin |
KWOTA_NETTO/VAT/BRUTTO + *_PLN | kwoty w walucie i w PLN |
WALUTA, KURS, KURS_KAMSOFT | waluta, kurs, kurs ważony do księgowości |
ID_POWIAZANY_DOKUMENT, TYP_KOREKTY, POWOD_KOREKTY | powiązanie korekty — zob. Korekty |
FV_WIELOSPOLKOWA | faktura wielospółkowa (kilka spółek VAN na jednej FK) |
SAMOFAKTUROWANIE | flaga samofakturowania (przeniesiona na poziom FV ~sierpień 2025) |
KSEF_WYS_STATUS, KSEF_RES_STATUS, KSEF_NUMER, KSEF_XML, KSEF_TRYB_WYSYLKI | wysyłka/odbiór KSeF |
STRATA | 0 brak / 1 odpuszczenie bez straty / 2 strata / 3 strata z odpuszczeniem |
Faktury wewnętrzne (SW / ZW)
Dla sprzedaży między spółkami grupy VAN powstaje para dokumentów: faktura sprzedażowa wewnętrzna (SW) i odpowiadająca jej zakupowa (ZW). Procedury FAKTURA_TRA_PKG:
p_generate_internal_invoices— wygenerowanie pary,p_internal_invoices_link— powiązanie w tabeliFAKTURA_TRA_WEW_WIAZANIE(ID_FV_SW↔ID_FV_ZW),p_accept_internal_invoices— akceptacja.
Faktury wielospółkowe (WLSP)
Gdy jedna faktura klienta obejmuje zlecenia z kilku spółek VAN, ustawiana jest flaga FV_WIELOSPOLKOWA = 1, a konfiguracją zarządza FAKTURA_WLSP_PKG (m.in. f_check_IsMultiCo, p_fv_wlsp_konf). Skrót WLSP = wielospółkowe.
Weryfikacja i odrzucenie
W aplikacji f1700 fakturę transportową można zweryfikować (str. 301) lub odrzucić (str. 302); podgląd dokumentu — str. 320. Druk realizują p_print_client_invoice / p_print_carrier_invoice (f_print_invoice zwraca BLOB PDF). Usunięcie dokumentu (synchronizowane do KAMSOFT) — f_delete_invoice (status DELETED).
Powiązania
Moduł Faktury
Aplikacja f1700 — wystawianie i przyjmowanie faktur transportowych (FK/FP) i nietransportowych, korekty, rejestry, numeracja oraz księgowanie (KAMSOFT/KDP) i KSeF.
Faktury nietransportowe i koszty
FAKTURA i FAKTURY_PKG — faktury kosztowe/przychodowe niepowiązane ze zleceniem, podział kosztu na sekcje (FAKTURA_SPLIT), kody GTU oraz koszyk/faktury sekcji.