Solk ERP API

Satış faturalarını gönder

Satış ve iade faturalarını gönderir; firma kartında açık / ödenmiş, vadesi geçen ve son 12 ay ciro bunlardan hesaplanır. customer carinin ext_id'si ya da kodudur (yalnız customer_name gelirse adla eşleştirilir). remaining = ödenmemiş kalan; status yoksa kalan tutardan çıkarılır (open, partial, paid, cancelled). kind: return iade faturasıdır (tutarlar eksi sayılır). po müşterinin sipariş numarasıdır — CRM siparişiyle eşleştirmeye yarar. Bakiye gönderilmiyorsa vadesi geçen tutar faturalardan hesaplanır.

POST/api/erp/v1/invoices

Yetkilendirme

Authorizationheaderzorunlu
Solk ERP API anahtarı (erp_…): Ayarlar → Muhasebe ve ERP → Solk ERP API bağlantısı açılınca bir kez gösterilir. X-Solk-Erp-Key başlığıyla da gönderilebilir.

Gövde application/json

itemsarrayzorunlu
Faturalar: ext_id, no, customer, customer_name, date, due, currency, net, total, remaining, status, kind (sales · return), po, lines (code, name, qty, price).

Hatalar

HTTPerrorAnlamı
401unauthorizedBelirteç yok, geçersiz, süresi dolmuş ya da iptal edilmiş.
400invalidEksik ya da geçersiz alan (`message` ayrıntıyı verir).
413too_manyTek istekte en çok 2.000 kayıt.
429rate_limitedDakikalık istek sınırı aşıldı (`Retry-After`).
İstek
curl -X POST https://ornek.solk.app/api/erp/v1/invoices \
  -H "Authorization: Bearer $SOLK_ERP_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "items": [
    {
      "ext_id": "SF2026000412",
      "no": "SF2026000412",
      "customer": "120.01.045",
      "date": "2026-08-28",
      "due": "2026-09-27",
      "currency": "TRY",
      "net": 49500,
      "total": 59400,
      "remaining": 59400,
      "po": "PO-7702",
      "lines": [
        {
          "code": "HS30",
          "name": "HS 30 Isıl Yapışma Laki",
          "qty": 450,
          "price": 110
        }
      ]
    },
    {
      "ext_id": "SF2026000455",
      "no": "SF2026000455",
      "customer": "120.01.045",
      "date": "2026-09-30",
      "due": "2026-11-29",
      "currency": "TRY",
      "net": 132000,
      "total": 158400,
      "remaining": 158400,
      "po": "PO-7745"
    },
    {
      "ext_id": "SF2026000391",
      "no": "SF2026000391",
      "customer": "120.01.045",
      "date": "2026-07-26",
      "due": "2026-09-24",
      "currency": "TRY",
      "net": 80000,
      "total": 96000,
      "remaining": 0,
      "status": "paid"
    }
  ]
}'
Yanıt
{
  "new": 3,
  "ok": true,
  "received": 3
}

Örnek yanıt örnek veriyle çalışan bir v54 kurulumundan alındı; listeler en çok iki öğeyle kısaltıldı.