Ana içeriğe geç

Fatura Oluşturma

Yeni satış faturası oluşturun ve GİB'e gönderime hazırlayın.

Endpoint

POST /kolaybi/v1/invoices

Parametreler

Zorunlu Alanlar

ParametreTipZorunluAçıklama
contact_idintegerEvetMüşteri/cari ID
address_idintegerEvetFatura adresi ID
order_datedatetimeEvetFatura tarihi (YYYY-MM-DD)
currencyCurrencyEvetFatura para birimi
itemsarrayEvetEn az bir kalem içermeli. Detaylar için Fatura Kalemleri bölümüne bakın.

Fatura Kalemleri

AlanTipZorunluAçıklama
product_idintegerEvetÜrün ID
quantitystringEvetMiktar (örn: "1.00")
unit_pricestringEvetBirim fiyat (örn: "100.00")
vat_rateVATRateEvetKDV oranı
descriptionstringHayırKalem açıklaması
discount_amountnumberHayırSatır indirimi (TRY)
gtip_nonumberHayırİhracat için 12 haneli GTIP numarası

Opsiyonel Temel Alanlar

ParametreTipZorunluAçıklama
serial_nostringHayırÖzel seri numarası
due_datedatetimeHayırVade tarihi
descriptionstringHayırFatura açıklaması
receiver_emailstringHayırE-fatura/e-arşiv alıcısı
typeInvoiceTypeHayırVarsayılan sale_invoice
tracking_currencyCurrencyHayırTahsilat kasası para birimi
tagsarrayHayırEtiket ID listesi (tags[0], tags[1])
subtotal_discount_amountnumberHayırGenel iskonto tutarı (TRY)
subtotal_correction_amountnumberHayırYuvarlama tutarı (TRY)

Kur & Para Birimi Alanları

ParametreTipZorunluAçıklama
exchange_ratestringHayırŞirket para biriminin fatura para birimine oranı (örn: TRY/EUR). Aynı para biriminde gereksiz.
cross_currency_ratestringHayırŞirket + fatura para birimlerinden biri TRY değilse zorunlu; fatura para birimi / TRY oranı.

E-Belge Senaryo Alanları

ParametreTipZorunluAçıklama
document_scenariostringHayırVarsayılan TICARIFATURA. Temel fatura için TEMELFATURA, ilaç faturası için ILAC_TIBBICIHAZ gönderin.
document_typestringHayırVarsayılan SATIS. ISTISNA, TEVKIFAT, OZELMATRAH, IHRACKAYITLI vb. değerler destekli.
vat_exemption_reason_codestringHayırdocument_type = ISTISNA olduğunda zorunlu hale gelir.
shipment_includebooleanHayırtrue -> açıklamalara “İrsaliye yerine geçer” eklenir.

Özel Matrah Alanları (document_type = OZELMATRAH)

ParametreTipZorunluAçıklama
special_tax_base[reason_code]stringHayırÖzel matrah kodu
special_tax_base[total]stringHayırMatrah tutarı
special_tax_base[percentage]stringHayırMatrah yüzdesi
special_tax_base[vat]stringHayırHesaplanan vergi

İnternet Satışı Alanları

ParametreTipZorunluAçıklama
internet_sale[url]stringHayırSatışın yapıldığı web adresi
internet_sale[payment_type]stringHayırcredit-card, bank-transfer, pay-at-door, payment-platform
internet_sale[payment_platform]stringHayırKullanılan ödeme platformu
internet_sale[payment_date]dateHayırÖdeme tarihi

İnternet Satışı Kargo Alanları

ParametreTipZorunluAçıklama
internet_sale_shipment[carrier_company]stringHayırTaşıyıcı firma
internet_sale_shipment[carrier_person]stringHayırTaşıyıcı kişi
internet_sale_shipment[carrier_company_tax_number]stringHayırTaşıyıcı VKN
internet_sale_shipment[carrier_date]dateHayırSevk tarihi

İhracat Taşıma Bilgileri

ParametreTipZorunluAçıklama
handling_and_shipping_information[delivery_condition]stringHayırİhracat teslim şartı (FAS, FOB, DDU, DDP, EXW, DEQ, CFR)
handling_and_shipping_information[shipping_method]integerHayırGönderim şekli (1 Deniz, 2 Demir, 3 Kara, 4 Hava, 5 Posta, 6 Çok Araçlı, 7 Sabit Tesis)
handling_and_shipping_information[shipping_method_detail]stringHayırGönderim şekli açıklaması (yalnızca 1-4 için)
handling_and_shipping_information[freight]stringHayırNavlun bedeli
handling_and_shipping_information[insurance_amount]stringHayırSigorta bedeli

İlaç/Tıbbi Cihaz Kalem Alanları (document_scenario = ILAC_TIBBICIHAZ)

document_scenario = ILAC_TIBBICIHAZ olduğunda, her kalem için aşağıdaki alanlar kullanılabilir:

Not: identifications alanı en az 1 ürün bilgisi içermelidir. Fatura kaleminde belirttiğiniz quantity değeri kadar identification bilgisi ekleyebilirsiniz.

ParametreTipZorunluAçıklama
items[n][medicine_medicaldevice_type]stringEvetmedicine veya medical_device değerlerinden biri girilmeli.

İlaç Identification Alanları (medicine_medicaldevice_type = medicine)

medicine_medicaldevice_type = medicine olduğunda, aşağıdaki identification alanları zorunludur:

ParametreTipZorunluAçıklama
items[n][identifications][*][bn]stringEvetParti Numarası (Batch Number)
items[n][identifications][*][gtin]stringEvetKüresel Ticari Ürün Numarası (GTIN)
items[n][identifications][*][sn]stringEvetSıra Numarası (Serial Number)
items[n][identifications][*][xd]dateEvetSon Kullanma Tarihi (Expiration Date - YYYY-MM-DD)

Tıbbi Cihaz Identification Alanları (medicine_medicaldevice_type = medical_device)

medicine_medicaldevice_type = medical_device olduğunda, aşağıdaki identification alanları zorunludur:

ParametreTipZorunluAçıklama
items[n][identifications][*][uno]stringEvetÜrün Numarası (UNO)
items[n][identifications][*][lno]stringEvetLot/Batch Numarası (LNO)
items[n][identifications][*][sno]stringEvetSeri/Sıra Numarası (SNO).
items[n][identifications][*][urt]dateEvetÜretim Tarihi (URT - YYYY-MM-DD)

Örnekler

# Temel fatura oluşturma
curl -X POST "https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/invoices" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Channel: YOUR_CHANNEL" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "contact_id=1&address_id=1&order_date=2024-01-15&currency=try&items[0][product_id]=1&items[0][quantity]=2&items[0][unit_price]=100.00&items[0][vat_rate]=20"

# Detaylı fatura oluşturma
curl -X POST "https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/invoices" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Channel: YOUR_CHANNEL" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "contact_id=1&address_id=1&order_date=2024-01-15&currency=eur&tracking_currency=try&tags[0]=12&tags[1]=15&serial_no=KBI2024-0001&due_date=2024-02-15&description=Test faturası&receiver_email=customer@example.com&type=sale_invoice&subtotal_discount_amount=50&exchange_rate=33.52&cross_currency_rate=33.52&document_scenario=TICARIFATURA&document_type=SATIS&internet_sale[url]=https://shop.example.com&internet_sale[payment_type]=credit-card&internet_sale[payment_date]=2024-01-15&internet_sale_shipment[carrier_company]=PTT&internet_sale_shipment[carrier_date]=2024-01-16&items[0][product_id]=1&items[0][quantity]=2&items[0][unit_price]=100.00&items[0][vat_rate]=20&items[0][description]=Test ürün&items[0][gtip_no]=123456789012&items[1][product_id]=2&items[1][quantity]=1&items[1][unit_price]=50.00&items[1][vat_rate]=18"

# İlaç faturası oluşturma
curl --location 'https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/invoices' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Channel: YOUR_CHANNEL' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--data-urlencode 'contact_id=38' \
--data-urlencode 'address_id=59' \
--data-urlencode 'order_date=2025-12-01' \
--data-urlencode 'currency=TRY' \
--data-urlencode 'items[0][product_id]=3' \
--data-urlencode 'items[0][quantity]=2' \
--data-urlencode 'items[0][unit_price]=100.00' \
--data-urlencode 'items[0][vat_rate]=20' \
--data-urlencode 'items[0][medicine_medicaldevice_type]=medicine' \
--data-urlencode 'items[0][identifications][0][bn]=abc' \
--data-urlencode 'items[0][identifications][0][gtin]=abc' \
--data-urlencode 'items[0][identifications][0][sn]=abc' \
--data-urlencode 'items[0][identifications][0][xd]=2025-11-01' \
--data-urlencode 'invoice_scenario=ILAC_TIBBICIHAZ'

# Tıbbi cihaz faturası oluşturma
curl --location 'https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/invoices' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Channel: YOUR_CHANNEL' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--data-urlencode 'contact_id=38' \
--data-urlencode 'address_id=59' \
--data-urlencode 'order_date=2025-12-01' \
--data-urlencode 'currency=TRY' \
--data-urlencode 'items[0][product_id]=4' \
--data-urlencode 'items[0][quantity]=1' \
--data-urlencode 'items[0][unit_price]=200.00' \
--data-urlencode 'items[0][vat_rate]=20' \
--data-urlencode 'items[0][medicine_medicaldevice_type]=medical_device' \
--data-urlencode 'items[0][identifications][0][uno]=UNO123456' \
--data-urlencode 'items[0][identifications][0][lno]=LNO789012' \
--data-urlencode 'items[0][identifications][0][sno]=SNO345678' \
--data-urlencode 'items[0][identifications][0][urt]=2024-01-01' \
--data-urlencode 'invoice_scenario=ILAC_TIBBICIHAZ'

Yanıt

{
"data": {
"document_id": 1854,
"grand_total": 2327.6,
"grand_currency": "eur",
"exchange_grand_total": 78077.47,
"exchange_grand_currency": "try"
}
}

Yanıt Alanları

AlanTipAçıklama
document_idintegerOluşturulan fatura ID
grand_totalnumberFatura para biriminde genel toplam
grand_currencystringFaturanın para birimi
exchange_grand_totalnumberŞirket para birimindeki karşılığı
exchange_grand_currencystringŞirket para birimi (tracking currency)