Uygulamanızı tasarlarken aşağıdaki hususlara dikkat edilmelidir.
- Oturum Login ile açılır;
SESSION_ID8 saat aktif kalır ve tüm kullanım süresi boyunca aynı değer kullanılabilir. - GetGibUserList ile GİB e-fatura mükellef listesi her 2 saatte bir çekilmeli, cari listenizdeki firmaların e-fatura mükellefi olup olmadığı güncellenmelidir.
- e-Fatura mükellefi firmalara kesilen faturalar UBL-TR formatına dönüştürülerek gönderilir. Her faturada XSLT dokümanı bulunmalıdır.
- Gönderim SendInvoice ile yapılır. Alıcının birden fazla posta kutusu varsa kullanıcıya seçtirilmelidir; tek PK varsa seçim yapılmadan gönderilebilir.
- Durum sorgulaması GetInvoiceStatus ile yapılır. Nihai duruma erişene kadar en az 4 saatte bir sorgulanmalıdır; sık sorgulama yapmayınız.
- Gelen faturalar GetInvoice ile çekilir; tek seferde en fazla 100 fatura döner. Dönen listede 100 fatura varsa servis tekrar çağrılmalı, 100'den azsa tekrar sorgulanmamalıdır. Zamanlayıcı ile çekiliyorsa aralık en az 15 dakika olmalıdır.
- Teslim alınan faturalar MarkInvoice ile okundu olarak işaretlenmelidir; aksi hâlde aynı faturalar tekrar döner.
- Gelen ticari faturaya kabul/red yanıtı SendInvoiceResponseWithServerSign ile gönderilir.
- Yanıt süresi 8 gündür; süre dolduktan sonra kabul/red engellenmelidir. Temel faturalar için yanıt gönderimi kısıtlanmalıdır.
- Bir ticari faturaya elektronik ortamda en fazla 1 yanıt gönderilebilir; başarılı yanıt sonrası ikinci gönderim kısıtlanmalıdır.
- Kullanıcı uygulamayı kapattığında Logout ile oturum kapatılmalıdır.