Fatura Oluşturma/Önizleme

Sistemde mevcut olan ve faturası henüz oluşturulmamış olan bir sipariş için bir api isteği (GET) ile fatura oluşturulabilmektedir. Oluşturulacak uygulamanın akışına göre iki farklı kullanım şekli mevcuttur:

  • sale_code ile: '/api/v1/finance/saleinvoice/invoice_html_for_sale/?sale_code={Sipariş Kodu}'
  • sale_id ile: '/api/v1/finance/saleinvoice/invoice_html_for_sale/?sale_id={Sipariş Propars ID}'

ID veya kod bilgisine ek olarak fatura tarihi de url parametresi olarak gönderilebilmektedir. Zorunluluğu fatura tarihi ayarına bağlıdır. Eğer otomatik tarihlendirme kapalı ise fatura oluşturma isteğinde fatura tarihi gönderilmelidir.

Örnek Endpoint: /api/v1/finance/saleinvoice/invoice_html_for_sale/?sale_code=abc123&invoice_date=2018-05-02T09:00:00+0300

Bu endpointe GET isteği gönderildinde fatura yoksa (verilen tarihle) oluşturulup, oluşan faturanın html görüntü önizlemesi dönülecektir.

Ayrıca şu parametreleri alabilmektedir:


  • invoice_uuid: Sipariş için fatura oluşturuluyorsa ve oluşacak olan faturanın uuid numarası (ETTN) client tarafından belirlenmek isteniyorsa bu parametre ile belirlenebilir. Formatı uuid version 4 olmalıdır. Zorunlu değildir

  • invoice_number: Sipariş için fatura oluşturuluyorsa ve oluşacak olan faturanın fatura numarası numarası (ETTN) client tarafından belirlenmek isteniyorsa bu parametre kullanılabilir. Zorunlu değildir

  • invoice_char_code: ??






Fatura Gönderme

Faturası mevcut olan ama gönderilmemiş olan bir sipariş için veya faturası hiç oluşturulmamış bir sipariş için fatura gönderim işlemi bir POST isteğiyle gerçekleştirilebilmektedir. Farklı senaryolar aşağıdaki gibidir.

- Sipariş Bilgileri ile Gönderim
  • sale_code ile: '/api/v1/finance/saleinvoice/send_invoice_for_sale/?sale_code={Sipariş Kodu}'
  • sale_id ile: '/api/v1/finance/saleinvoice/send_invoice_for_sale/?sale_id={Sipariş Propars ID}'

ID veya kod bilgisine ek olarak fatura tarihi de url parametresi olarak gönderilebilmektedir. Zorunluluğu fatura tarihi ayarına bağlıdır. Eğer otomatik tarihlendirme kapalı ise fatura tarihi gönderilmelidir.

Ayrıca şu parametreleri alabilmektedir:


  • invoice_uuid: Sipariş için fatura oluşturuluyorsa ve oluşacak olan faturanın uuid numarası (ETTN) client tarafından belirlenmek isteniyorsa bu parametre ile belirlenebilir. Formatı uuid version 4 olmalıdır. Zorunlu değildir

  • invoice_number: Sipariş için fatura oluşturuluyorsa ve oluşacak olan faturanın fatura numarası numarası (ETTN) client tarafından belirlenmek isteniyorsa bu parametre kullanılabilir. Zorunlu değildir

  • invoice_char_code: ??

- Fatura ID ile Gönderim

Fatura ID ile: Daha önceden oluşturulmuş faturanın id'si biliniyorsa doğrudan fatura objesi üzerinden gönderim işlemi yapılabilir. Aşağıdaki endpointe POST isteği gönderilerek fatura gönderimi sağlanabilir. Endpoint: '/api/v1/finance/saleinvoice/{fatura ID}/send_invoice/'

Fatura gönderme isteği başarılı olursa sunucu cevap olarak -türüne göre- çeşitli bilgileri bulunduran fatura objesini dönecektir.






Fatura Görüntüleme

Fatura Oluşturma/Önizleme başlığındaki işlemler ile fatura gönderildikten sonra da html formatında görüntüsü alınabilmektedir.






İmzalı Fatura Xml Dosyası

İmzalanıp gönderilmiş bir e-fatura veya bir e-arşiv için elektronik imzalı xml dosyasına ulaşmak için aşağıdaki endpointler kullanılabilir:

  • sale_code ile: '/api/v1/finance/saleinvoice/get_signed_xml_for_sale/?sale_code={Sipariş Kodu}'
  • sale_id ile: '/api/v1/finance/saleinvoice/get_signed_xml_for_sale/?sale_id={Sipariş Propars ID}'
  • Fatura ID ile: '/api/v1/finance/saleinvoice/{fatura ID}/get_signed_xml/'






Fatura İptali

Yalnızca e-arşiv faturaları iptal edilebilmektedir. Aşağıdaki endpointlere PATCH isteği gönderilirek raporu Gelir İdaresi Başkanlığı'na henüz gönderilmemiş olan bir e-arşiv fatura iptal edilebilmektedir. Aynı zamanda oluşturulmuş ama GIB'e gönderilmemiş e-faturaların da iptali mümkündür.

  • Sipariş ID ile: PATCH '/api/v1/core/sale/{Sipariş ID}/cancel_invoice/'
  • Sipariş Kodu ile: PATCH '/api/v1/core/sale/cancel_invoice_by_code/?sale_code={Sipariş Kodu}'