Przykład-01 faktury dla systemu KSeF

Wpis #293 z dnia: 20-08-2025

Przykład-01 faktury dla systemu KSeF


Faktura sprzedaży towaru. Na fakturze umieszczono informacje, że do momentu jej wystawienia dokonano w całości płatności.

MF opublikowało 25 przykładów plików XML do prezentacji różnych zdarzeń gospodarczych.

Poniżej przedstawiamy pierwszy z nich. Za pomocą kodu C# i danych w strukturze Json prezentujemy możliwości utworzenia struktury FA.XML (3) w naszym programie.

Należy zwrócić uwagę, że dane podajemy tutaj w postaci statycznej do prezentacji możliwości API, pod konkretne wymagania powyższego przykładu. W rzeczywistych warunkach, dane będą podawane w sposób dynamiczny z własnych baz danych użytkownika.

Kod C#

using System;
using System.Data;
using TGSoft.Utils;
using TGSoft.Ksef;
using TGSoft.Ksef.Ver3;
using TGSoft.JPK;

namespace Szark
{
    public class Class1
    {
        public Class1(object sender)
        {
        }

        public object Main(object par)
        {
            Faktura fra = GetFaktura1();
            if (fra != null)
            {
                fra.SaveToFile(@"c:\TMP\Test_Fa3-KSeF.xml");

                fra.ShowXmlDialog();
            }
            return fra;
        }
        
        private Faktura GetFaktura1()
        {
            var f = new Faktura();
            f.GetSystemParams();
            f.Nabywca = new TKontrahent()
            {
                NIP = "1111111111",
                Nazwa = "F.H.U. Jan Kowalski",
                AdresL1 = "ul. Polna 1",
                AdresL2 = "00-001 Warszawa",
                Telefon = "555777999",
                Email = "jan@kowalski.pl",
                NrKlienta = "fdfd778343",
            };

            f.NumerFaktury = "FV2026/02/150";
            f.DataWystawienia = new DateTime(2026, 02, 15);
            f.MiejsceWystawienia = "Warszawa";
            f.AddDataDostawy(new DateTime(2026, 1, 27));
            f.P_13_1 = 1666.66M;
            f.P_14_1 = 383.33M;
            f.P_13_3 = 0.95M;
            f.P_14_3 = 0.05M;
            f.P_15 = 2051;

            f.AddDodatkowyOpis("preferowane godziny dowozu", "dni robocze 17:00 - 20:00");

            f.FP = true;

            var fw = new FakturaWiersz();
            fw.UU_ID = "aaaa111133339990";
            fw.NazwaTowaruUslugi = "lodówka Zimnotech mk1";
            fw.JednostkaMiary = "szt.";
            fw.Ilosc = 1;
            fw.CenaJednostkowaNetto = 1626.01M;
            fw.WartoscNetto = 1626.01M;
            fw.StrVAT = "23";
            f.Add(fw);

            fw = new FakturaWiersz();
            fw.UU_ID = "aaaa111133339991";
            fw.NazwaTowaruUslugi = "wniesienie sprzętu";
            fw.JednostkaMiary = "szt.";
            fw.Ilosc = 1;
            fw.CenaJednostkowaNetto = 40.65M;
            fw.WartoscNetto = 40.65M;
            fw.StrVAT = "23";
            f.Add(fw);

            fw = new FakturaWiersz();
            fw.UU_ID = "aaaa111133339992";
            fw.NazwaTowaruUslugi = "promocja lodówka pełna mleka";
            fw.JednostkaMiary = "szt.";
            fw.Ilosc = 1;
            fw.CenaJednostkowaNetto = 0.95M;
            fw.WartoscNetto = 0.95M;
            fw.StrVAT = "5";
            f.Add(fw);

            f.Platnosc.ZaplaconoDataZaplaty = new DateTime(2026, 1, 27);
            f.Platnosc.FormaPlatnosci = "6";

            f.WarunkiTransakcji.AddZamowienie("4354343", "2026-01-26");

            f.Stopka.StopkaFaktury = "Kapiał zakładowy 5 000 000";

            return f;
        }
    }
}


Prezentacja wykorzystania kodu C# do utworzenia e-Faktury XML



Kod Json

{
  "Nabywca": {
    "Nip": "1111111111",
    "Nazwa": "F.H.U. Jan Kowalski",
    "AdresL1": "ul. Polna 1",
    "AdresL2": "00-001 Warszawa",
    "KodKraju": "PL",
    "Email": "jan@kowalski.pl",
    "Telefon": "555777999",
    "NrKlienta": "fdfd778343"
  },
  "P_1": "2026-02-15",
  "P_1M": "Warszawa",
  "P_2": "FV2026/02/150",
  "P_6_Od": "2026-01-27",
  "P_13_1": 1666.66,
  "P_14_1": 383.33,
  "P_13_3": 0.95,
  "P_14_3": 0.05,
  "P_15": 2051,
  "FP": 1,
  "DodatkowyOpis": [
    "preferowane godziny dowozu|dni robocze 17:00 - 20:00"
  ],
  "FwItems": [
    {
      "UU_ID": "aaaa111133339990",
      "NazwaTowaruUslugi": "lodówka Zimnotech mk1",
      "JednostkaMiary": "szt.",
      "Ilosc": 1,
      "CenaJednostkowaNetto": 1626.01,
      "WartoscNetto": 1626.01,
      "StrVAT": "23"
    },
    {
      "UU_ID": "aaaa111133339991",
      "NazwaTowaruUslugi": "wniesienie sprzętu",
      "JednostkaMiary": "szt.",
      "Ilosc": 1,
      "CenaJednostkowaNetto": 40.65,
      "WartoscNetto": 40.65,
      "StrVAT": "23"
    },
    {
      "UU_ID": "aaaa111133339992",
      "NazwaTowaruUslugi": "promocja lodówka pełna mleka",
      "JednostkaMiary": "szt.",
      "Ilosc": 1,
      "CenaJednostkowaNetto": 0.95,
      "WartoscNetto": 0.95,
      "StrVAT": "5"
    }
  ],
  "DataZaplaty": "2026-01-27",
  "FormaPlatnosci": "6",
  "Zamowienia": [
    "4354343|2026-01-26"
  ],
  "StopkaFaktury": "Kapiał zakładowy 5 000 000"
}


Dla przykładu XML:

<?xml version="1.0" encoding="UTF-8"?>
<Faktura xmlns:etd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2022/01/05/eD/DefinicjeTypy/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://crd.gov.pl/wzor/2025/06/25/13775/">
	<Naglowek>
		<KodFormularza kodSystemowy="FA (3)" wersjaSchemy="1-0E">FA</KodFormularza>
		<WariantFormularza>3</WariantFormularza>
		<DataWytworzeniaFa>2026-02-01T00:00:00Z</DataWytworzeniaFa>
		<SystemInfo>SamploFaktur</SystemInfo>
	</Naglowek>
	<Podmiot1>
		<DaneIdentyfikacyjne>
			<NIP>9999999999</NIP>
			<Nazwa>ABC AGD sp. z o. o.</Nazwa>
		</DaneIdentyfikacyjne>
		<Adres>
			<KodKraju>PL</KodKraju>
			<AdresL1>ul. Kwiatowa 1 m. 2</AdresL1>
			<AdresL2>00-001 Warszawa</AdresL2>
		</Adres>
		<DaneKontaktowe>
			<Email>abc@abc.pl</Email>
			<Telefon>667444555</Telefon>
		</DaneKontaktowe>
	</Podmiot1>
	<Podmiot2>
		<DaneIdentyfikacyjne>
			<NIP>1111111111</NIP>
			<Nazwa>F.H.U. Jan Kowalski</Nazwa>
		</DaneIdentyfikacyjne>
		<Adres>
			<KodKraju>PL</KodKraju>
			<AdresL1>ul. Polna 1</AdresL1>
			<AdresL2>00-001 Warszawa</AdresL2>
		</Adres>
		<DaneKontaktowe>
			<Email>jan@kowalski.pl</Email>
			<Telefon>555777999</Telefon>
		</DaneKontaktowe>
		<NrKlienta>fdfd778343</NrKlienta>
		<JST>2</JST>
		<GV>2</GV>
	</Podmiot2>
	<Fa>
		<KodWaluty>PLN</KodWaluty>
		<P_1>2026-02-15</P_1>
		<P_1M>Warszawa</P_1M>
		<P_2>FV2026/02/150</P_2>
		<P_6>2026-01-27</P_6>
		<P_13_1>1666.66</P_13_1>
		<P_14_1>383.33</P_14_1>
		<P_13_3>0.95</P_13_3>
		<P_14_3>0.05</P_14_3>
		<P_15>2051</P_15>
		<Adnotacje>
			<P_16>2</P_16>
			<P_17>2</P_17>
			<P_18>2</P_18>
			<P_18A>2</P_18A>
			<Zwolnienie>
				<P_19N>1</P_19N>
			</Zwolnienie>
			<NoweSrodkiTransportu>
				<P_22N>1</P_22N>
			</NoweSrodkiTransportu>
			<P_23>2</P_23>
			<PMarzy>
				<P_PMarzyN>1</P_PMarzyN>
			</PMarzy>
		</Adnotacje>
		<RodzajFaktury>VAT</RodzajFaktury>
		<FP>1</FP>
		<DodatkowyOpis>
			<Klucz>preferowane godziny dowozu</Klucz>
			<Wartosc>dni robocze 17:00 - 20:00</Wartosc>
		</DodatkowyOpis>
		<FaWiersz>
			<NrWierszaFa>1</NrWierszaFa>
			<UU_ID>aaaa111133339990</UU_ID>
			<P_7>lodówka Zimnotech mk1</P_7>
			<P_8A>szt.</P_8A>
			<P_8B>1</P_8B>
			<P_9A>1626.01</P_9A>
			<P_11>1626.01</P_11>
			<P_12>23</P_12>
		</FaWiersz>
		<FaWiersz>
			<NrWierszaFa>2</NrWierszaFa>
			<UU_ID>aaaa111133339991</UU_ID>
			<P_7>wniesienie sprzętu</P_7>
			<P_8A>szt.</P_8A>
			<P_8B>1</P_8B>
			<P_9A>40.65</P_9A>
			<P_11>40.65</P_11>
			<P_12>23</P_12>
		</FaWiersz>
		<FaWiersz>
			<NrWierszaFa>3</NrWierszaFa>
			<UU_ID>aaaa111133339992</UU_ID>
			<P_7>promocja lodówka pełna mleka</P_7>
			<P_8A>szt.</P_8A>
			<P_8B>1</P_8B>
			<P_9A>0.95</P_9A>
			<P_11>0.95</P_11>
			<P_12>5</P_12>
		</FaWiersz>
		<Platnosc>
			<Zaplacono>1</Zaplacono>
			<DataZaplaty>2026-01-27</DataZaplaty>
			<FormaPlatnosci>6</FormaPlatnosci>
		</Platnosc>
		<WarunkiTransakcji>
			<Zamowienia>
				<DataZamowienia>2026-01-26</DataZamowienia>
				<NrZamowienia>4354343</NrZamowienia>
			</Zamowienia>
		</WarunkiTransakcji>
	</Fa>
	<Stopka>
		<Informacje>
			<StopkaFaktury>Kapiał zakładowy 5 000 000</StopkaFaktury>
		</Informacje>
		<Rejestry>
			<KRS>0000099999</KRS>
			<REGON>999999999</REGON>
			<BDO>000099999</BDO>
		</Rejestry>
	</Stopka>
</Faktura>



Następny dokument 294 : Tworzenie e-Faktur FA.XML (3) za pomocą danych Json.