API lấy danh sách hóa đơn

Tra cứu danh sách hóa đơn điện tử qua SePay eInvoice API với phân trang. Trả về thông tin hóa đơn bao gồm trạng thái, số tiền và ngày phát hành.

||

API Endpoint

GET
https://einvoice-api.sepay.vn/v1/invoices

API Request

pageinteger

Trang hiện tại (mặc định 1)

Mặc định: 1
per_pageinteger

Số bản ghi mỗi trang (mặc định 10)

Mặc định: 10
sourceenum

Lọc hóa đơn theo nguồn tạo. Nếu không truyền sẽ trả về tất cả.

  • manual: Chỉ lấy hóa đơn tạo thủ công trên giao diện
  • api: Chỉ lấy hóa đơn tạo qua API
document_typestring

Lọc theo loại hóa đơn. Nhận nhiều loại, ngăn cách bằng dấu phẩy (ví dụ 6,7).

Nếu không truyền sẽ trả về tất cả.

  • 1: Hóa đơn nháp
  • 2: Hóa đơn mới
  • 3: Hóa đơn đã xóa bỏ
  • 4: Hóa đơn thay thế
  • 5: Hóa đơn bị thay thế
  • 6: Hóa đơn điều chỉnh tăng
  • 7: Hóa đơn điều chỉnh giảm
  • 8: Hóa đơn điều chỉnh thông tin
  • 9: Hóa đơn điều chỉnh tăng/giảm
  • 10: Hóa đơn bị điều chỉnh
seller_store_xidstring

Lọc hóa đơn theo địa điểm kinh doanh người bán - truyền giá trị xid của địa điểm. Nếu không truyền sẽ trả về tất cả.

Phân trang
  • Sử dụng page để chỉ định trang cần lấy (mặc định là 1).
  • Sử dụng per_page để giới hạn số bản ghi mỗi trang (mặc định là 10, tối đa 100).
  • Response trả về has_more: true nếu còn dữ liệu ở trang tiếp theo.

API Response

Response thành công (200)
{
  "data": {
    "paging": {
      "per_page": 1,
      "total": 20,
      "has_more": true,
      "current_page": 1,
      "page_count": 20
    },
    "items": [
      {
        "reference_code": "9735f09d-d970-11f0-aef4-52c7e9b4f41b",
        "invoice_number": "0",
        "issued_date": "2026-01-26",
        "pdf_url": "https://beta-portalv2.mifi.vn/DownloadPDFCA.aspx?...",
        "xml_url": null,
        "status": "draft",
        "buyer": {
          "name": "Công ty ABC",
          "tax_code": "0101234567",
          "address": "123 Đường A, Quận B, Hà Nội",
          "email": "buyer@example.com",
          "phone": "0900000000"
        },
        "seller_store": {
          "xid": "8f14e45f-ceea-4b6d-9c1a-2b3c4d5e6f70",
          "code": "CN01",
          "name": "Chi nhánh 1"
        },
        "total_before_tax": 200000,
        "tax_amount": 20000,
        "total_amount": 220000,
        "notes": "Ghi chú hóa đơn",
        "source": "api"
      }
    ]
  }
}
dataobject
Lưu ý về invoice_number

invoice_number mặc định là "0" khi hóa đơn ở trạng thái nháp ("status": "draft"). Sau khi phát hành thành công, invoice_number sẽ được cập nhật thành số hóa đơn thực tế do nhà cung cấp cấp phát.

Xử lý lỗi

401Unauthorized

Thiếu hoặc sai Bearer token. Vui lòng kiểm tra lại token trong header Authorization.

Code mẫu

>
>
>
curl --request GET \
--url 'https://einvoice-api.sepay.vn/v1/invoices?page=1&per_page=10&source=manual&document_type=6%2C7&seller_store_xid=8f14e45f-ceea-4b6d-9c1a-2b3c4d5e6f70' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Bước tiếp theo

Sau khi có danh sách hóa đơn, bạn có thể:

  1. Chi tiết hóa đơn - Sử dụng reference_code để xem thông tin chi tiết một hóa đơn cụ thể
  2. Tải hóa đơn - Tải file PDF hoặc XML của hóa đơn đã phát hành
Với hóa đơn nháp

Nếu hóa đơn có status: "draft", bạn có thể Phát hành hóa đơn để phát hành chính thức.