Pobierz PDF
TyreSoft · Integracja plikowa

Instrukcja integracji partnerów

Wymiana plików z systemem TyreSoft: zamówienia XML, listy przewozowe PDF, numery listów w pliku Waybill CSV oraz stany magazynowe CSV.

Wersja 1.4 · 31.10.2026
XMLZamówienia

Partner przesyła zamówienia, TyreSoft je importuje i realizuje.

PDFListy przewozowe

Dokument przewozowy każdej nadanej paczki.

CSVWaybill File

Numery listów przewozowych przypisane do zamówień partnera.

CSVStany magazynowe

Jeden, stale aktualizowany plik z dostępnymi ilościami.

01

Wprowadzenie

Integracja z TyreSoft odbywa się przez wymianę plików na wspólnym serwerze (SFTP/FTP). Nie wymaga API ani stałego połączenia między systemami: każda ze stron zapisuje i odczytuje pliki we wskazanych katalogach. Dane dostępowe do serwera przekazujemy indywidualnie każdemu partnerowi.

02

Przepływ danych

Schemat pokazuje, kto zapisuje i kto odczytuje pliki w każdym katalogu. Strzałki wskazują kierunek przepływu danych.

SERWER WYMIANY PLIKÓW · SFTP / FTP Partner ERP · sklep platforma B2B TyreSoft system magazynowy /orders Nowe zamówienia · *.xml wysyłka XML import /orders_processed Zamówienia zaimportowane potwierdzenie przeniesienie /tracking Listy PDF + Waybill CSV pobranie zapis PDF+CSV /stock stock.csv · aktualne stany pobranie nadpisanie

Cykl życia zamówienia

  1. Złożenie zamówieniaPartner zapisuje plik XML w katalogu /orders.
  2. ImportTyreSoft cyklicznie pobiera nowe pliki i zakłada zamówienia w systemie.
  3. PotwierdzeniePo poprawnym imporcie plik jest przenoszony bez zmian do /orders_processed.
  4. RealizacjaZamówienie jest kompletowane, pakowane i przekazywane kurierowi.
  5. Numer listuW /tracking pojawia się list przewozowy PDF i wiersz w pliku Waybill CSV.

Stany magazynowe

Niezależnie od zamówień TyreSoft regularnie nadpisuje plik /stock/stock.csv aktualnymi stanami. Partner pobiera go, aby wiedzieć, które produkty i w jakiej ilości może zamówić.

03

Struktura katalogów

Na serwerze partner ma do dyspozycji cztery katalogi. Każdy z nich ma jednego „właściciela”, który w nim zapisuje.

/
├── orders/            Partner → nowe zamówienia (*.xml)
├── orders_processed/  TyreSoft → zamówienia zaimportowane
├── tracking/          TyreSoft → listy przewozowe (*.pdf) + Waybill (*.csv)
└── stock/             TyreSoft → stock.csv, aktualne stany
KatalogZapisujeOdczytujeFormatNazwa plikuZnaczenie
/ordersPartnerTyreSoftXML{numer}.xmlNowe zamówienia czekające na import.
/orders_processedTyreSoftPartnerXMLbez zmianZamówienia przyjęte do systemu. Obecność pliku = potwierdzenie przyjęcia.
/trackingTyreSoftPartnerPDF, CSV{TrackingId}.pdf
waybill_RRRRMMDD_HHMMSS.csv
Listy przewozowe i numery listów dla nadanych paczek.
/stockTyreSoftPartnerCSVstock.csvZawsze jeden plik z aktualnym stanem magazynu.
Jeśli plik pozostaje w /orders dłużej niż jeden cykl importu, prosimy o kontakt: może zawierać błąd struktury.
04

Zamówienie XML

Każde zamówienie to osobny plik XML o stałej strukturze. Poniżej opisujemy wszystkie elementy, reguły formatowania i kompletny przykład.

Zasady ogólne

  • Jeden plik = jedno zamówienie. Kodowanie UTF-8, deklaracja <?xml version="1.0" encoding="UTF-8"?>.
  • Nazwa pliku to numer zamówienia partnera z rozszerzeniem .xml, np. 00006475-WY.xml. Nazwy nie mogą się powtarzać.
  • Element główny <DOCUMENTORDER>; kolejność sekcji: INVOICE → dane zamówienia → PRODUCTS → DELIVERY.
  • Daty w formacie RRRR-MM-DD. Kwoty z kropką jako separatorem dziesiętnym (157.00). Ceny są cenami netto.
  • Pola opcjonalne można pominąć lub pozostawić puste, np. <PHONE></PHONE>.
  • Znaki specjalne muszą być zakodowane: & → &amp;, < → &lt;, > → &gt;.

Opis elementów

W = wymagane · O = opcjonalne

ElementW/OOpisPrzykład
Dane nabywcy do faktury: <INVOICE>
<NUMBER>WNumer zamówienia kontrahenta (numer dokumentu w systemie partnera).178
<FROM>WUnikalny kod kontrahenta (Company ID), uzgodniony z TyreSoft.1234563218
<NAME>WPełna nazwa firmy do faktury.Firma Przykładowa Sp. z o.o.
<TAXID>WNumer NIP / VAT ID nabywcy.1234563218
<STREET>WUlica.Przykładowa
<STREETNUMBER>WNumer budynku / lokalu.1/2
<POSTALCODE>WKod pocztowy.00-001
<CITYNAME>WMiejscowość.Warszawa
<COUNTRY>WKraj.Polska
Dane zamówienia
<DATE>WData złożenia zamówienia (RRRR-MM-DD).2026-10-31
<DELIVERYDATE>WData wysyłki proponowana przez klienta.2026-11-02
<ORDERCURRENCY>WWaluta zamówienia (kod ISO 4217).PLN
<NUMBER>WIndywidualny numer zamówienia nadany przez kontrahenta. Wraca w Waybill CSV jako CustomerRef.00006475-WY
Produkty: <PRODUCTS><PRODUCT> (powtarzalny, jeden na pozycję)
<CODE>WUnikalny kod towaru: EAN lub kod producenta (jak w stock.csv).PO488H1
<NAME>WNazwa towaru.Opona 205/65R16C …
<ORDERQUANTITY>WZamawiana ilość (liczba całkowita).4
<SELL_PRICE>WJednostkowa cena netto.157.00
Dostawa: <DELIVERY>
<MODEOFTRANSPORT>ORodzaj transportu: 1 = kurier, 2 = kurier zamawiającego.1
<CODCOST>OKwota pobrania. 0 = bez pobrania.0
<CUSTOMERNAME>WNazwa odbiorcy dostawy.Firma Przykładowa Sp. z o.o.
<STREET>WUlica.Przykładowa
<STREETNUMBER>WNumer budynku / lokalu.1/2
<POSTALCODE>WKod pocztowy.00-001
<CITYNAME>WMiejscowość.Warszawa
<COUNTRY>WKraj.Polska
<PHONE>OTelefon do odbiorcy, na wypadek problemów z doręczeniem.+48 600 100 200
<PACKQ>OLiczba paczek.4
<LINK>OLink do listu przewozowego (PDF), przy MODEOFTRANSPORT = 2.https://…/label.pdf
<COMMENTS>OUwagi dla kuriera.Dostawa 8–16

Przykład kompletnego pliku

Zamówienie z dwiema pozycjami i wypełnionymi polami opcjonalnymi.

00008120-WY.xml /orders
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENTORDER>
<INVOICE>
  <NUMBER>181</NUMBER>
  <FROM>1234563218</FROM>
  <NAME>Firma Przykładowa Sp. z o.o.</NAME>
  <TAXID>1234563218</TAXID>
  <STREET>Przykładowa</STREET>
  <STREETNUMBER>1/2</STREETNUMBER>
  <POSTALCODE>00-001</POSTALCODE>
  <CITYNAME>Warszawa</CITYNAME>
  <COUNTRY>Polska</COUNTRY>
</INVOICE>
<DATE>2026-10-31</DATE>
<DELIVERYDATE>2026-11-02</DELIVERYDATE>
<ORDERCURRENCY>PLN</ORDERCURRENCY>
<NUMBER>00008120-WY</NUMBER>
<PRODUCTS>
  <PRODUCT>
    <CODE>PO488H1</CODE>
    <NAME>Opona 205/65R16C SNOWTOUR 107/105R POWERTRAC</NAME>
    <ORDERQUANTITY>4</ORDERQUANTITY>
    <SELL_PRICE>157.00</SELL_PRICE>
  </PRODUCT>
  <PRODUCT>
    <CODE>225/70R15CSC328</CODE>
    <NAME>Opona 225/70R15C SC328 112/110R GOODRIDE</NAME>
    <ORDERQUANTITY>2</ORDERQUANTITY>
    <SELL_PRICE>178.00</SELL_PRICE>
  </PRODUCT>
</PRODUCTS>
<DELIVERY>
  <MODEOFTRANSPORT>1</MODEOFTRANSPORT>
  <CODCOST>0</CODCOST>
  <CUSTOMERNAME>Firma Przykładowa Sp. z o.o.</CUSTOMERNAME>
  <STREET>Przykładowa</STREET>
  <STREETNUMBER>1/2</STREETNUMBER>
  <POSTALCODE>00-001</POSTALCODE>
  <CITYNAME>Warszawa</CITYNAME>
  <COUNTRY>Polska</COUNTRY>
  <PHONE>+48 600 100 200</PHONE>
  <PACKQ>6</PACKQ>
  <LINK></LINK>
  <COMMENTS>Dostawa w godz. 8-16</COMMENTS>
</DELIVERY>
</DOCUMENTORDER>
05

Listy przewozowe PDF

Dla każdej nadanej paczki TyreSoft zapisuje w katalogu /tracking dokument przewozowy w formacie PDF.

  • Nazwa pliku to numer listu przewozowego, np. 10000000001.pdf. Ten sam numer znajduje się w kolumnie TrackingId pliku Waybill CSV.
  • Zamówienie wysłane w kilku paczkach ma kilka plików PDF, po jednym na paczkę.
  • Aby przypisać PDF do zamówienia, wyszukaj jego numer w Waybill CSV i odczytaj kolumnę CustomerRef.

Jak powiązać pliki

/orders · XML<NUMBER>00007993-OW</NUMBER>
→
/tracking · Waybill CSVCustomerRef = 00007993-OW
TrackingId = 10000000001
→
/tracking · PDF10000000001.pdf

Własny kurier partnera (MODEOFTRANSPORT = 2)

Jeśli przesyłkę nadaje kurier zamawiającego, partner przekazuje własny list przewozowy jako adres w polu <LINK> sekcji <DELIVERY>. Pod tym adresem musi być dostępny plik PDF gotowy do wydruku.

06

Waybill CSV

Plik Waybill CSV łączy numery listów przewozowych z zamówieniami partnera. TyreSoft zapisuje go w katalogu /tracking.

Format pliku

  • Separator: średnik ;. Kodowanie UTF-8. Pierwszy wiersz zawiera nagłówki kolumn.
  • Każdy wiersz kończy się średnikiem.
  • Jeden wiersz = jedna paczka (jeden numer listu). Zamówienie wysłane w kilku paczkach zajmuje kilka wierszy.
  • Data w kolumnie DeliveryDate ma format D-M-RRRR, np. 21-7-2020.
  • Nazwa pliku: waybill_RRRRMMDD_HHMMSS.csv.
  • Kluczem łączącym z zamówieniem jest CustomerRef, czyli numer zamówienia partnera.
KolumnaOpisPrzykład
CompanyIdIdentyfikator firmy / oddziału TyreSoft.100
CustomerIdNumer partnera w systemie TyreSoft.100001
DeliveryDateData wydania przesyłki (D-M-RRRR).21-7-2020
PickingListIdNumer listy kompletacyjnej.PM1071083
LineNumNumer pozycji na liście kompletacyjnej.1
PackingSlipIdNumer dokumentu wydania (WZ).PX2120101
OrderIdNumer zamówienia w systemie TyreSoft.QV200686844
CustomerRefNumer zamówienia partnera (NUMBER z pliku XML).00007993-OW
ItemIdKod towaru.GY2154516HEFFP
EanItemIdKod EAN towaru.5452000571731
QuantityDeliveredIlość wysłana w tej paczce.1
TrackingIdNumer listu przewozowego (= nazwa pliku PDF).10000000001
DeliveryModeKod przewoźnika / usługi.GLSPLFR

Przykład

waybill_20200721_140000.csv /tracking
CompanyId;CustomerId;DeliveryDate;PickingListId;LineNum;PackingSlipId;OrderId;CustomerRef;ItemId;EanItemId;QuantityDelivered;TrackingId;DeliveryMode;
100;100001;21-7-2020;PM1071083;1;PX2120101;QV200686844;00007993-OW;GY2154516HEFFP;5452000571731;1;10000000001;GLSPLFR;
100;100001;21-7-2020;PM1071082;1;PX2120101;QV200688021;00008002-OW;PI2754521YSCZEASPLRX;8019227343250;1;10000000002;GLSPLFR;
100;100001;21-7-2020;PM1071082;2;PX2120101;QV200688021;00008002-OW;PI2754521YSCZEASPLRX;8019227343250;1;10000000003;GLSPLFR;
100;100001;21-7-2020;PM1071081;1;PX2120102;QV200682112;00007952-WY;HI2256516RTRANSIT;6953913105550;1;10000000004;GLSPLFR;
100;100001;21-7-2020;PM1071084;1;PX2120103;QV200685555;00007828-WY;GY2055516HEFFIPRE;5452000812018;1;10000000005;GLSPLFR;
Zamówienie 00008002-OW zostało wysłane w dwóch paczkach, dlatego ma dwa wiersze z różnymi numerami TrackingId.
07

Stany magazynowe CSV

Katalog /stock zawiera zawsze jeden aktualny plik stock.csv. TyreSoft nadpisuje go w ustalonych odstępach czasu pełną listą dostępnych produktów. Plik nie zawiera historii ani zmian przyrostowych.

  • Separator średnik ;, kodowanie UTF-8, nagłówki w pierwszym wierszu, kropka jako separator dziesiętny.
  • Wczytuj zawsze cały plik i traktuj go jako pełny stan: produkt nieobecny w pliku jest niedostępny.
  • Wartość z kolumny Code podawaj jako <CODE> w zamówieniu XML.
  • Kolumna UpdatedAt informuje, kiedy wygenerowano stan.
KolumnaOpisPrzykład
CodeKod towaru, używany jako <CODE> w zamówieniu.GY2154516HEFFP
EANKod EAN.5452000571731
NameNazwa towaru.Opona 215/45R16 …
QuantityDostępna ilość w sztukach.24
PriceCena netto partnera.289.00
CurrencyWaluta ceny.PLN
UpdatedAtCzas wygenerowania stanu.2026-10-31 12:00
stock.csv /stock
Code;EAN;Name;Quantity;Price;Currency;UpdatedAt
GY2154516HEFFP;5452000571731;Opona 215/45R16 Goodyear EfficientGrip Performance;24;289.00;PLN;2026-10-31 12:00
GY2055516HEFFIPRE;5452000812018;Opona 205/55R16 Goodyear EfficientGrip Performance;40;265.00;PLN;2026-10-31 12:00
PI2754521YSCZEASPLRX;8019227343250;Opona 275/45R21 Pirelli Scorpion Zero;8;912.00;PLN;2026-10-31 12:00
PO488H1;;Opona 205/65R16C SNOWTOUR 107/105R POWERTRAC;12;157.00;PLN;2026-10-31 12:00
225/70R15CSC328;;Opona 225/70R15C SC328 112/110R GOODRIDE;0;178.00;PLN;2026-10-31 12:00
Zestaw kolumn (np. ceny, czas dostawy) oraz częstotliwość aktualizacji uzgadniamy z partnerem podczas wdrożenia.
08

Dobre praktyki

Zapis atomowyWgrywaj plik pod nazwą tymczasową (np. .tmp) i dopiero po zakończeniu zmień rozszerzenie na .xml. Import nie pobierze wtedy niekompletnego pliku.
Nie zmieniaj archiwumNie modyfikuj ani nie usuwaj plików w /orders_processed. To potwierdzenie przyjęcia zamówienia.
Bez duplikatówKażdy plik w /orders jest traktowany jako nowe zamówienie. Nie wysyłaj ponownie tego samego zamówienia pod inną nazwą.
Regularny odczytSprawdzaj /tracking cyklicznie i zapamiętuj pliki, które już przetworzyłeś.
Sprawdzaj stanyPrzed złożeniem zamówienia porównaj ilość z aktualnym stock.csv.
Zmiany i anulacjeKorekty lub anulowanie przesłanego zamówienia zgłaszaj bezpośrednio do TyreSoft.
09

Uruchomienie integracji

  1. Ustalenie zakresuUzgadniamy identyfikator partnera (FROM), walutę, sposób dostawy i zakres danych w stock.csv.
  2. Dostęp do serweraPartner otrzymuje login i hasło do serwera z przygotowanymi katalogami.
  3. Mapowanie produktówPartner pobiera stock.csv i wiąże kody Code ze swoim katalogiem.
  4. Zamówienie testowePartner wysyła plik z dopiskiem TEST w <COMMENTS> i sprawdza jego przeniesienie do /orders_processed.
  5. Start produkcyjnyPo akceptacji testu zamówienia są realizowane standardowo.
10

Kontakt

W sprawie wdrożenia, danych dostępowych i pytań technicznych:

TyreSoft · Oprogramowanie dla motoryzacjiWersja 1.4 · 31.10.2026
TyreSoft · File-based integration

Partner Integration Guide

File exchange with the TyreSoft system: XML orders, PDF waybills, tracking numbers in the Waybill CSV file and stock levels as CSV.

Version 1.4 · 31 Oct 2026
XMLOrders

The partner sends orders; TyreSoft imports and fulfils them.

PDFWaybills

Shipping document for every dispatched parcel.

CSVWaybill File

Tracking numbers matched to the partner's orders.

CSVStock levels

A single, continuously updated file with available quantities.

01

Introduction

Integration with TyreSoft works by exchanging files on a shared server (SFTP/FTP). No API or permanent connection between the systems is needed: each side writes and reads files in designated directories. Server credentials are issued individually to each partner.

02

Data flow

The diagram shows who writes and who reads files in each directory. Arrows show the direction of data flow.

FILE EXCHANGE SERVER · SFTP / FTP Partner ERP · shop B2B platform TyreSoft warehouse system /orders New orders · *.xml send XML import /orders_processed Imported orders confirmation move /tracking PDF waybills + Waybill CSV download write PDF+CSV /stock stock.csv · current stock download overwrite

Order lifecycle

  1. Order placedThe partner saves an XML file in the /orders directory.
  2. ImportTyreSoft picks up new files at regular intervals and creates the orders in the system.
  3. ConfirmationAfter a successful import the file is moved, unchanged, to /orders_processed.
  4. FulfilmentThe order is picked, packed and handed over to the carrier.
  5. Tracking numberA PDF waybill and a line in the Waybill CSV appear in /tracking.

Stock levels

Independently of orders, TyreSoft regularly overwrites /stock/stock.csv with current stock levels. The partner downloads it to know which products, and how many, can be ordered.

03

Directory structure

The partner has four directories on the server. Each directory has exactly one “owner” who writes to it.

/
├── orders/            Partner → new orders (*.xml)
├── orders_processed/  TyreSoft → imported orders
├── tracking/          TyreSoft → waybills (*.pdf) + Waybill (*.csv)
└── stock/             TyreSoft → stock.csv, current stock
DirectoryWritten byRead byFormatFile nameMeaning
/ordersPartnerTyreSoftXML{number}.xmlNew orders waiting to be imported.
/orders_processedTyreSoftPartnerXMLunchangedOrders accepted into the system. File present = order accepted.
/trackingTyreSoftPartnerPDF, CSV{TrackingId}.pdf
waybill_YYYYMMDD_HHMMSS.csv
Waybills and tracking numbers for dispatched parcels.
/stockTyreSoftPartnerCSVstock.csvAlways a single file with current stock.
If a file stays in /orders for longer than one import cycle, please contact us: it may contain a structural error.
04

XML order

Each order is a separate XML file with a fixed structure. Below are all elements, the formatting rules and a complete example.

General rules

  • One file = one order. UTF-8 encoding, declaration <?xml version="1.0" encoding="UTF-8"?>.
  • The file name is the partner's order number with the .xml extension, e.g. 00006475-WY.xml. File names must be unique.
  • Root element <DOCUMENTORDER>; section order: INVOICE → order data → PRODUCTS → DELIVERY.
  • Dates in YYYY-MM-DD format. Amounts with a dot as decimal separator (157.00). Prices are net prices.
  • Optional fields may be omitted or left empty, e.g. <PHONE></PHONE>.
  • Special characters must be escaped: & → &amp;, < → &lt;, > → &gt;.

Element reference

W = required (wymagane) · O = optional

ElementW/ODescriptionExample
Buyer invoice data: <INVOICE>
<NUMBER>WContractor's order number (document number in the partner's system).178
<FROM>WUnique contractor code (Company ID), agreed with TyreSoft.1234563218
<NAME>WFull company name for the invoice.Firma Przykładowa Sp. z o.o.
<TAXID>WBuyer's VAT number.1234563218
<STREET>WStreet.Przykładowa
<STREETNUMBER>WBuilding / apartment number.1/2
<POSTALCODE>WPostal code.00-001
<CITYNAME>WCity.Warszawa
<COUNTRY>WCountry.Polska
Order data
<DATE>WOrder date (YYYY-MM-DD).2026-10-31
<DELIVERYDATE>WShipment date requested by the customer.2026-11-02
<ORDERCURRENCY>WOrder currency (ISO 4217 code).PLN
<NUMBER>WIndividual order number assigned by the contractor. Returned in the Waybill CSV as CustomerRef.00006475-WY
Products: <PRODUCTS><PRODUCT> (repeatable, one per line item)
<CODE>WUnique product code: EAN or manufacturer code (as in stock.csv).PO488H1
<NAME>WProduct name.Opona 205/65R16C …
<ORDERQUANTITY>WOrdered quantity (integer).4
<SELL_PRICE>WUnit net price.157.00
Delivery: <DELIVERY>
<MODEOFTRANSPORT>OTransport type: 1 = courier, 2 = ordering party's courier.1
<CODCOST>OCash-on-delivery amount. 0 = no COD.0
<CUSTOMERNAME>WDelivery recipient's name.Firma Przykładowa Sp. z o.o.
<STREET>WStreet.Przykładowa
<STREETNUMBER>WBuilding / apartment number.1/2
<POSTALCODE>WPostal code.00-001
<CITYNAME>WCity.Warszawa
<COUNTRY>WCountry.Polska
<PHONE>ORecipient's phone, in case of delivery problems.+48 600 100 200
<PACKQ>ONumber of parcels.4
<LINK>OLink to the waybill (PDF), with MODEOFTRANSPORT = 2.https://…/label.pdf
<COMMENTS>ONotes for the courier.Dostawa 8–16

Complete file example

An order with two line items and the optional fields filled in.

00008120-WY.xml /orders
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENTORDER>
<INVOICE>
  <NUMBER>181</NUMBER>
  <FROM>1234563218</FROM>
  <NAME>Firma Przykładowa Sp. z o.o.</NAME>
  <TAXID>1234563218</TAXID>
  <STREET>Przykładowa</STREET>
  <STREETNUMBER>1/2</STREETNUMBER>
  <POSTALCODE>00-001</POSTALCODE>
  <CITYNAME>Warszawa</CITYNAME>
  <COUNTRY>Polska</COUNTRY>
</INVOICE>
<DATE>2026-10-31</DATE>
<DELIVERYDATE>2026-11-02</DELIVERYDATE>
<ORDERCURRENCY>PLN</ORDERCURRENCY>
<NUMBER>00008120-WY</NUMBER>
<PRODUCTS>
  <PRODUCT>
    <CODE>PO488H1</CODE>
    <NAME>Opona 205/65R16C SNOWTOUR 107/105R POWERTRAC</NAME>
    <ORDERQUANTITY>4</ORDERQUANTITY>
    <SELL_PRICE>157.00</SELL_PRICE>
  </PRODUCT>
  <PRODUCT>
    <CODE>225/70R15CSC328</CODE>
    <NAME>Opona 225/70R15C SC328 112/110R GOODRIDE</NAME>
    <ORDERQUANTITY>2</ORDERQUANTITY>
    <SELL_PRICE>178.00</SELL_PRICE>
  </PRODUCT>
</PRODUCTS>
<DELIVERY>
  <MODEOFTRANSPORT>1</MODEOFTRANSPORT>
  <CODCOST>0</CODCOST>
  <CUSTOMERNAME>Firma Przykładowa Sp. z o.o.</CUSTOMERNAME>
  <STREET>Przykładowa</STREET>
  <STREETNUMBER>1/2</STREETNUMBER>
  <POSTALCODE>00-001</POSTALCODE>
  <CITYNAME>Warszawa</CITYNAME>
  <COUNTRY>Polska</COUNTRY>
  <PHONE>+48 600 100 200</PHONE>
  <PACKQ>6</PACKQ>
  <LINK></LINK>
  <COMMENTS>Dostawa w godz. 8-16</COMMENTS>
</DELIVERY>
</DOCUMENTORDER>
05

PDF waybills

For every dispatched parcel TyreSoft saves a PDF shipping document in the /tracking directory.

  • The file name is the tracking number, e.g. 10000000001.pdf. The same number appears in the TrackingId column of the Waybill CSV.
  • An order shipped in several parcels has several PDF files, one per parcel.
  • To match a PDF to an order, look up its number in the Waybill CSV and read the CustomerRef column.

How the files link together

/orders · XML<NUMBER>00007993-OW</NUMBER>
→
/tracking · Waybill CSVCustomerRef = 00007993-OW
TrackingId = 10000000001
→
/tracking · PDF10000000001.pdf

Partner's own carrier (MODEOFTRANSPORT = 2)

If the shipment is collected by the ordering party's carrier, the partner provides its own waybill as a URL in the <LINK> field of the <DELIVERY> section. A print-ready PDF must be available at that URL.

06

Waybill CSV

The Waybill CSV links tracking numbers to the partner's orders. TyreSoft saves it in the /tracking directory.

File format

  • Separator: semicolon ;. UTF-8 encoding. The first row contains column headers.
  • Every row ends with a semicolon.
  • One row = one parcel (one tracking number). An order shipped in several parcels takes several rows.
  • The DeliveryDate column uses the D-M-YYYY format, e.g. 21-7-2020.
  • File name: waybill_YYYYMMDD_HHMMSS.csv.
  • The key linking a row to an order is CustomerRef, i.e. the partner's order number.
ColumnDescriptionExample
CompanyIdTyreSoft company / branch identifier.100
CustomerIdPartner number in the TyreSoft system.100001
DeliveryDateDispatch date (D-M-YYYY).21-7-2020
PickingListIdPicking list number.PM1071083
LineNumLine number on the picking list.1
PackingSlipIdPacking slip (dispatch note) number.PX2120101
OrderIdOrder number in the TyreSoft system.QV200686844
CustomerRefPartner's order number (NUMBER from the XML file).00007993-OW
ItemIdProduct code.GY2154516HEFFP
EanItemIdProduct EAN.5452000571731
QuantityDeliveredQuantity shipped in this parcel.1
TrackingIdTracking number (= PDF file name).10000000001
DeliveryModeCarrier / service code.GLSPLFR

Example

waybill_20200721_140000.csv /tracking
CompanyId;CustomerId;DeliveryDate;PickingListId;LineNum;PackingSlipId;OrderId;CustomerRef;ItemId;EanItemId;QuantityDelivered;TrackingId;DeliveryMode;
100;100001;21-7-2020;PM1071083;1;PX2120101;QV200686844;00007993-OW;GY2154516HEFFP;5452000571731;1;10000000001;GLSPLFR;
100;100001;21-7-2020;PM1071082;1;PX2120101;QV200688021;00008002-OW;PI2754521YSCZEASPLRX;8019227343250;1;10000000002;GLSPLFR;
100;100001;21-7-2020;PM1071082;2;PX2120101;QV200688021;00008002-OW;PI2754521YSCZEASPLRX;8019227343250;1;10000000003;GLSPLFR;
100;100001;21-7-2020;PM1071081;1;PX2120102;QV200682112;00007952-WY;HI2256516RTRANSIT;6953913105550;1;10000000004;GLSPLFR;
100;100001;21-7-2020;PM1071084;1;PX2120103;QV200685555;00007828-WY;GY2055516HEFFIPRE;5452000812018;1;10000000005;GLSPLFR;
Order 00008002-OW was shipped in two parcels, so it has two rows with different TrackingId numbers.
07

Stock CSV

The /stock directory always contains one current stock.csv file. TyreSoft overwrites it at agreed intervals with the complete list of available products. The file contains no history and no incremental changes.

  • Semicolon ; separator, UTF-8 encoding, headers in the first row, dot as decimal separator.
  • Always read the whole file and treat it as the full stock: a product missing from the file is unavailable.
  • Use the value of the Code column as <CODE> in the XML order.
  • The UpdatedAt column shows when the stock snapshot was generated.
ColumnDescriptionExample
CodeProduct code, used as <CODE> in the order.GY2154516HEFFP
EANEAN code.5452000571731
NameProduct name.Opona 215/45R16 …
QuantityAvailable quantity (pcs).24
PricePartner net price.289.00
CurrencyPrice currency.PLN
UpdatedAtTime the snapshot was generated.2026-10-31 12:00
stock.csv /stock
Code;EAN;Name;Quantity;Price;Currency;UpdatedAt
GY2154516HEFFP;5452000571731;Opona 215/45R16 Goodyear EfficientGrip Performance;24;289.00;PLN;2026-10-31 12:00
GY2055516HEFFIPRE;5452000812018;Opona 205/55R16 Goodyear EfficientGrip Performance;40;265.00;PLN;2026-10-31 12:00
PI2754521YSCZEASPLRX;8019227343250;Opona 275/45R21 Pirelli Scorpion Zero;8;912.00;PLN;2026-10-31 12:00
PO488H1;;Opona 205/65R16C SNOWTOUR 107/105R POWERTRAC;12;157.00;PLN;2026-10-31 12:00
225/70R15CSC328;;Opona 225/70R15C SC328 112/110R GOODRIDE;0;178.00;PLN;2026-10-31 12:00
The set of columns (e.g. prices, delivery time) and the update frequency are agreed with the partner during onboarding.
08

Best practices

Atomic uploadUpload the file under a temporary name (e.g. .tmp) and rename it to .xml only when the upload is complete. The import will then never pick up a partial file.
Leave the archive aloneDo not modify or delete files in /orders_processed. They confirm that the order was accepted.
No duplicatesEvery file in /orders is treated as a new order. Do not resend the same order under a different name.
Read regularlyCheck /tracking periodically and keep track of the files you have already processed.
Check stockCompare quantities with the current stock.csv before placing an order.
Changes & cancellationsReport corrections or cancellations of submitted orders directly to TyreSoft.
09

Going live

  1. Agree the scopeWe agree the partner identifier (FROM), currency, delivery method and the data included in stock.csv.
  2. Server accessThe partner receives a username and password for the server with the prepared directories.
  3. Product mappingThe partner downloads stock.csv and maps the Code values to its own catalogue.
  4. Test orderThe partner sends a file marked TEST in <COMMENTS> and checks that it is moved to /orders_processed.
  5. Go liveOnce the test is approved, orders are fulfilled as normal.
10

Contact

For onboarding, credentials and technical questions:

TyreSoft · Software for the automotive industryVersion 1.4 · 31 Oct 2026
TyreSoft · Dateibasierte Integration

Integrationsleitfaden für Partner

Dateiaustausch mit dem TyreSoft-System: Bestellungen als XML, Frachtbriefe als PDF, Sendungsnummern in der Waybill-CSV und Lagerbestände als CSV.

Version 1.4 · 31.10.2026
XMLBestellungen

Der Partner übermittelt Bestellungen, TyreSoft importiert und bearbeitet sie.

PDFFrachtbriefe

Versanddokument für jedes verschickte Paket.

CSVWaybill File

Sendungsnummern, den Bestellungen des Partners zugeordnet.

CSVLagerbestand

Eine laufend aktualisierte Datei mit verfügbaren Mengen.

01

Einführung

Die Integration mit TyreSoft erfolgt über den Austausch von Dateien auf einem gemeinsamen Server (SFTP/FTP). Es ist weder eine API noch eine ständige Verbindung zwischen den Systemen nötig: Jede Seite schreibt und liest Dateien in festgelegten Verzeichnissen. Die Zugangsdaten zum Server erhält jeder Partner individuell.

02

Datenfluss

Das Schema zeigt, wer in welchem Verzeichnis Dateien schreibt und liest. Die Pfeile zeigen die Richtung des Datenflusses.

AUSTAUSCHSERVER · SFTP / FTP Partner ERP · Shop B2B-Plattform TyreSoft Lager- system /orders Neue Bestellungen · *.xml XML senden Import /orders_processed Importierte Bestellungen Bestätigung verschieben /tracking PDF-Frachtbriefe + Waybill-CSV abholen PDF+CSV ablegen /stock stock.csv · aktueller Bestand abholen überschreiben

Lebenszyklus einer Bestellung

  1. BestellungDer Partner legt eine XML-Datei im Verzeichnis /orders ab.
  2. ImportTyreSoft holt neue Dateien zyklisch ab und legt die Bestellungen im System an.
  3. BestätigungNach erfolgreichem Import wird die Datei unverändert nach /orders_processed verschoben.
  4. AbwicklungDie Bestellung wird kommissioniert, verpackt und an den Paketdienst übergeben.
  5. SendungsnummerIn /tracking erscheinen der PDF-Frachtbrief und eine Zeile in der Waybill-CSV.

Lagerbestand

Unabhängig von den Bestellungen überschreibt TyreSoft regelmäßig die Datei /stock/stock.csv mit dem aktuellen Bestand. Der Partner lädt sie herunter, um zu sehen, welche Produkte in welcher Menge bestellbar sind.

03

Verzeichnisstruktur

Auf dem Server stehen dem Partner vier Verzeichnisse zur Verfügung. Jedes Verzeichnis hat genau einen „Eigentümer“, der darin schreibt.

/
├── orders/            Partner → neue Bestellungen (*.xml)
├── orders_processed/  TyreSoft → importierte Bestellungen
├── tracking/          TyreSoft → Frachtbriefe (*.pdf) + Waybill (*.csv)
└── stock/             TyreSoft → stock.csv, aktueller Bestand
VerzeichnisSchreibtLiestFormatDateinameBedeutung
/ordersPartnerTyreSoftXML{Nummer}.xmlNeue Bestellungen, die auf den Import warten.
/orders_processedTyreSoftPartnerXMLunverändertIns System übernommene Bestellungen. Datei vorhanden = Annahme bestätigt.
/trackingTyreSoftPartnerPDF, CSV{TrackingId}.pdf
waybill_JJJJMMTT_HHMMSS.csv
Frachtbriefe und Sendungsnummern versendeter Pakete.
/stockTyreSoftPartnerCSVstock.csvImmer genau eine Datei mit dem aktuellen Lagerbestand.
Bleibt eine Datei länger als einen Importzyklus in /orders, kontaktieren Sie uns bitte: Sie enthält möglicherweise einen Strukturfehler.
04

Bestellung XML

Jede Bestellung ist eine eigene XML-Datei mit fester Struktur. Im Folgenden beschreiben wir alle Elemente, die Formatierungsregeln und ein vollständiges Beispiel.

Allgemeine Regeln

  • Eine Datei = eine Bestellung. Zeichenkodierung UTF-8, Deklaration <?xml version="1.0" encoding="UTF-8"?>.
  • Der Dateiname ist die Bestellnummer des Partners mit der Endung .xml, z. B. 00006475-WY.xml. Dateinamen dürfen sich nicht wiederholen.
  • Wurzelelement <DOCUMENTORDER>; Reihenfolge der Abschnitte: INVOICE → Bestelldaten → PRODUCTS → DELIVERY.
  • Datumsangaben im Format JJJJ-MM-TT. Beträge mit Punkt als Dezimaltrennzeichen (157.00). Preise sind Nettopreise.
  • Optionale Felder können entfallen oder leer bleiben, z. B. <PHONE></PHONE>.
  • Sonderzeichen müssen maskiert werden: & → &amp;, < → &lt;, > → &gt;.

Beschreibung der Elemente

W = Pflichtfeld (wymagane) · O = optional

ElementW/OBeschreibungBeispiel
Rechnungsdaten des Käufers: <INVOICE>
<NUMBER>WBestellnummer des Auftraggebers (Belegnummer im System des Partners).178
<FROM>WEindeutige Kennung des Auftraggebers (Company ID), mit TyreSoft abgestimmt.1234563218
<NAME>WVollständiger Firmenname für die Rechnung.Firma Przykładowa Sp. z o.o.
<TAXID>WUSt-IdNr. / Steuernummer des Käufers.1234563218
<STREET>WStraße.Przykładowa
<STREETNUMBER>WHaus- / Wohnungsnummer.1/2
<POSTALCODE>WPostleitzahl.00-001
<CITYNAME>WOrt.Warszawa
<COUNTRY>WLand.Polska
Bestelldaten
<DATE>WBestelldatum (JJJJ-MM-TT).2026-10-31
<DELIVERYDATE>WVom Kunden gewünschtes Versanddatum.2026-11-02
<ORDERCURRENCY>WBestellwährung (ISO-4217-Code).PLN
<NUMBER>WIndividuelle Bestellnummer des Auftraggebers. Kommt in der Waybill-CSV als CustomerRef zurück.00006475-WY
Produkte: <PRODUCTS><PRODUCT> (wiederholbar, eines pro Position)
<CODE>WEindeutiger Artikelcode: EAN oder Herstellercode (wie in stock.csv).PO488H1
<NAME>WArtikelbezeichnung.Opona 205/65R16C …
<ORDERQUANTITY>WBestellmenge (Ganzzahl).4
<SELL_PRICE>WNetto-Stückpreis.157.00
Lieferung: <DELIVERY>
<MODEOFTRANSPORT>OTransportart: 1 = Paketdienst, 2 = Paketdienst des Bestellers.1
<CODCOST>ONachnahmebetrag. 0 = keine Nachnahme.0
<CUSTOMERNAME>WName des Warenempfängers.Firma Przykładowa Sp. z o.o.
<STREET>WStraße.Przykładowa
<STREETNUMBER>WHaus- / Wohnungsnummer.1/2
<POSTALCODE>WPostleitzahl.00-001
<CITYNAME>WOrt.Warszawa
<COUNTRY>WLand.Polska
<PHONE>OTelefon des Empfängers für Rückfragen bei der Zustellung.+48 600 100 200
<PACKQ>OAnzahl der Pakete.4
<LINK>OLink zum Frachtbrief (PDF), bei MODEOFTRANSPORT = 2.https://…/label.pdf
<COMMENTS>OHinweise für den Zusteller.Dostawa 8–16

Beispiel einer vollständigen Datei

Bestellung mit zwei Positionen und ausgefüllten optionalen Feldern.

00008120-WY.xml /orders
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENTORDER>
<INVOICE>
  <NUMBER>181</NUMBER>
  <FROM>1234563218</FROM>
  <NAME>Firma Przykładowa Sp. z o.o.</NAME>
  <TAXID>1234563218</TAXID>
  <STREET>Przykładowa</STREET>
  <STREETNUMBER>1/2</STREETNUMBER>
  <POSTALCODE>00-001</POSTALCODE>
  <CITYNAME>Warszawa</CITYNAME>
  <COUNTRY>Polska</COUNTRY>
</INVOICE>
<DATE>2026-10-31</DATE>
<DELIVERYDATE>2026-11-02</DELIVERYDATE>
<ORDERCURRENCY>PLN</ORDERCURRENCY>
<NUMBER>00008120-WY</NUMBER>
<PRODUCTS>
  <PRODUCT>
    <CODE>PO488H1</CODE>
    <NAME>Opona 205/65R16C SNOWTOUR 107/105R POWERTRAC</NAME>
    <ORDERQUANTITY>4</ORDERQUANTITY>
    <SELL_PRICE>157.00</SELL_PRICE>
  </PRODUCT>
  <PRODUCT>
    <CODE>225/70R15CSC328</CODE>
    <NAME>Opona 225/70R15C SC328 112/110R GOODRIDE</NAME>
    <ORDERQUANTITY>2</ORDERQUANTITY>
    <SELL_PRICE>178.00</SELL_PRICE>
  </PRODUCT>
</PRODUCTS>
<DELIVERY>
  <MODEOFTRANSPORT>1</MODEOFTRANSPORT>
  <CODCOST>0</CODCOST>
  <CUSTOMERNAME>Firma Przykładowa Sp. z o.o.</CUSTOMERNAME>
  <STREET>Przykładowa</STREET>
  <STREETNUMBER>1/2</STREETNUMBER>
  <POSTALCODE>00-001</POSTALCODE>
  <CITYNAME>Warszawa</CITYNAME>
  <COUNTRY>Polska</COUNTRY>
  <PHONE>+48 600 100 200</PHONE>
  <PACKQ>6</PACKQ>
  <LINK></LINK>
  <COMMENTS>Dostawa w godz. 8-16</COMMENTS>
</DELIVERY>
</DOCUMENTORDER>
05

Frachtbriefe PDF

Für jedes versendete Paket legt TyreSoft im Verzeichnis /tracking ein Versanddokument im PDF-Format ab.

  • Der Dateiname ist die Sendungsnummer, z. B. 10000000001.pdf. Dieselbe Nummer steht in der Spalte TrackingId der Waybill-CSV.
  • Eine Bestellung, die in mehreren Paketen versendet wird, hat mehrere PDF-Dateien, eine pro Paket.
  • Um ein PDF einer Bestellung zuzuordnen, suchen Sie die Nummer in der Waybill-CSV und lesen die Spalte CustomerRef.

So hängen die Dateien zusammen

/orders · XML<NUMBER>00007993-OW</NUMBER>
→
/tracking · Waybill CSVCustomerRef = 00007993-OW
TrackingId = 10000000001
→
/tracking · PDF10000000001.pdf

Eigener Paketdienst des Partners (MODEOFTRANSPORT = 2)

Wird die Sendung vom Paketdienst des Bestellers abgeholt, übergibt der Partner seinen eigenen Frachtbrief als Adresse im Feld <LINK> des Abschnitts <DELIVERY>. Unter dieser Adresse muss eine druckfertige PDF-Datei abrufbar sein.

06

Waybill CSV

Die Waybill-CSV verknüpft Sendungsnummern mit den Bestellungen des Partners. TyreSoft legt sie im Verzeichnis /tracking ab.

Dateiformat

  • Trennzeichen: Semikolon ;. Kodierung UTF-8. Die erste Zeile enthält die Spaltenüberschriften.
  • Jede Zeile endet mit einem Semikolon.
  • Eine Zeile = ein Paket (eine Sendungsnummer). Eine Bestellung in mehreren Paketen belegt mehrere Zeilen.
  • Das Datum in der Spalte DeliveryDate hat das Format T-M-JJJJ, z. B. 21-7-2020.
  • Dateiname: waybill_JJJJMMTT_HHMMSS.csv.
  • Schlüssel zur Bestellung ist CustomerRef, also die Bestellnummer des Partners.
SpalteBeschreibungBeispiel
CompanyIdKennung der TyreSoft-Firma / Niederlassung.100
CustomerIdPartnernummer im TyreSoft-System.100001
DeliveryDateVersanddatum (T-M-JJJJ).21-7-2020
PickingListIdNummer der Kommissionierliste.PM1071083
LineNumPositionsnummer auf der Kommissionierliste.1
PackingSlipIdNummer des Lieferscheins.PX2120101
OrderIdAuftragsnummer im TyreSoft-System.QV200686844
CustomerRefBestellnummer des Partners (NUMBER aus der XML-Datei).00007993-OW
ItemIdArtikelcode.GY2154516HEFFP
EanItemIdEAN des Artikels.5452000571731
QuantityDeliveredIn diesem Paket versendete Menge.1
TrackingIdSendungsnummer (= Name der PDF-Datei).10000000001
DeliveryModeCode des Paketdienstes / Service.GLSPLFR

Beispiel

waybill_20200721_140000.csv /tracking
CompanyId;CustomerId;DeliveryDate;PickingListId;LineNum;PackingSlipId;OrderId;CustomerRef;ItemId;EanItemId;QuantityDelivered;TrackingId;DeliveryMode;
100;100001;21-7-2020;PM1071083;1;PX2120101;QV200686844;00007993-OW;GY2154516HEFFP;5452000571731;1;10000000001;GLSPLFR;
100;100001;21-7-2020;PM1071082;1;PX2120101;QV200688021;00008002-OW;PI2754521YSCZEASPLRX;8019227343250;1;10000000002;GLSPLFR;
100;100001;21-7-2020;PM1071082;2;PX2120101;QV200688021;00008002-OW;PI2754521YSCZEASPLRX;8019227343250;1;10000000003;GLSPLFR;
100;100001;21-7-2020;PM1071081;1;PX2120102;QV200682112;00007952-WY;HI2256516RTRANSIT;6953913105550;1;10000000004;GLSPLFR;
100;100001;21-7-2020;PM1071084;1;PX2120103;QV200685555;00007828-WY;GY2055516HEFFIPRE;5452000812018;1;10000000005;GLSPLFR;
Die Bestellung 00008002-OW wurde in zwei Paketen versendet und hat daher zwei Zeilen mit unterschiedlichen TrackingId-Nummern.
07

Lagerbestand CSV

Das Verzeichnis /stock enthält immer genau eine aktuelle Datei stock.csv. TyreSoft überschreibt sie in festgelegten Abständen mit der vollständigen Liste verfügbarer Produkte. Die Datei enthält weder Historie noch inkrementelle Änderungen.

  • Trennzeichen Semikolon ;, Kodierung UTF-8, Überschriften in der ersten Zeile, Punkt als Dezimaltrennzeichen.
  • Lesen Sie immer die ganze Datei ein und behandeln Sie sie als Gesamtbestand: Ein Produkt, das fehlt, ist nicht verfügbar.
  • Verwenden Sie den Wert der Spalte Code als <CODE> in der XML-Bestellung.
  • Die Spalte UpdatedAt gibt an, wann der Bestand erzeugt wurde.
SpalteBeschreibungBeispiel
CodeArtikelcode, wird als <CODE> in der Bestellung verwendet.GY2154516HEFFP
EANEAN-Code.5452000571731
NameArtikelbezeichnung.Opona 215/45R16 …
QuantityVerfügbare Menge in Stück.24
PriceNetto-Partnerpreis.289.00
CurrencyWährung des Preises.PLN
UpdatedAtZeitpunkt der Bestandserstellung.2026-10-31 12:00
stock.csv /stock
Code;EAN;Name;Quantity;Price;Currency;UpdatedAt
GY2154516HEFFP;5452000571731;Opona 215/45R16 Goodyear EfficientGrip Performance;24;289.00;PLN;2026-10-31 12:00
GY2055516HEFFIPRE;5452000812018;Opona 205/55R16 Goodyear EfficientGrip Performance;40;265.00;PLN;2026-10-31 12:00
PI2754521YSCZEASPLRX;8019227343250;Opona 275/45R21 Pirelli Scorpion Zero;8;912.00;PLN;2026-10-31 12:00
PO488H1;;Opona 205/65R16C SNOWTOUR 107/105R POWERTRAC;12;157.00;PLN;2026-10-31 12:00
225/70R15CSC328;;Opona 225/70R15C SC328 112/110R GOODRIDE;0;178.00;PLN;2026-10-31 12:00
Spaltenumfang (z. B. Preise, Lieferzeit) und Aktualisierungsintervall stimmen wir bei der Einrichtung mit dem Partner ab.
08

Best Practices

Atomares SchreibenLaden Sie die Datei unter einem temporären Namen hoch (z. B. .tmp) und benennen Sie sie erst danach in .xml um. So wird keine unvollständige Datei importiert.
Archiv nicht ändernDateien in /orders_processed weder ändern noch löschen. Sie bestätigen die Annahme der Bestellung.
Keine DuplikateJede Datei in /orders gilt als neue Bestellung. Senden Sie dieselbe Bestellung nicht erneut unter einem anderen Namen.
Regelmäßig abrufenPrüfen Sie /tracking zyklisch und merken Sie sich bereits verarbeitete Dateien.
Bestand prüfenGleichen Sie die Menge vor der Bestellung mit der aktuellen stock.csv ab.
Änderungen & StornosKorrekturen oder Stornierungen übermittelter Bestellungen melden Sie bitte direkt an TyreSoft.
09

Inbetriebnahme

  1. Umfang festlegenWir vereinbaren Partnerkennung (FROM), Währung, Versandart und den Datenumfang der stock.csv.
  2. ServerzugangDer Partner erhält Benutzername und Passwort für den Server mit den vorbereiteten Verzeichnissen.
  3. ProduktzuordnungDer Partner lädt die stock.csv herunter und ordnet die Code-Werte seinem Katalog zu.
  4. TestbestellungDer Partner sendet eine Datei mit dem Vermerk TEST in <COMMENTS> und prüft die Verschiebung nach /orders_processed.
  5. ProduktivstartNach Freigabe des Tests werden Bestellungen regulär abgewickelt.
10

Kontakt

Für Einrichtung, Zugangsdaten und technische Fragen:

Porozmawiajmy o Twoim biznesie oponiarskim

Bezpłatna konsultacja: pokażemy, których modułów naprawdę potrzebuje Twoja firma – bez zobowiązań.