Billing & collections

What it does: Issues amounts due for each billing period (typically weekly from completed field work) and tracks collection through to payment complete.

Why it matters: Reduces manual invoicing and gives financiers clear visibility into what was billed and collected.

Technical reference — Read-only billing period endpoints.

The billing period model

  • Name
    id
    Type
    integer
    Description

    Billing period identifier.

  • Name
    loanName
    Type
    string
    Description

    Associated loan / contract name.

  • Name
    start_date
    Type
    string
    Description

    Billing period start.

  • Name
    end_date
    Type
    string
    Description

    Billing period end.

  • Name
    status
    Type
    object
    Description

    Status code and label.

  • Name
    currency
    Type
    string
    Description

    Billing currency.

  • Name
    totalAmountIncMaintenanceFee
    Type
    string
    Description

    Total amount including maintenance fees.

Status values

StatusMeaning
DRAFTCreated, not yet sent
SENT_TO_PAYMENT_SERVICEDispatched for collection
PAYMENT_COMPLETEPaid in full
PAYMENT_FAILEDCollection failed
PENDINGAwaiting confirmation

GET/payg/lms/payment-requests

List billing periods

Paginated list of billing periods. Use date filters for weekly reporting windows.

Query parameters

  • Name
    page
    Type
    integer
    Description
    Page number.
  • Name
    limit
    Type
    integer
    Description
    Page size.
  • Name
    search
    Type
    string
    Description
    Search term.
  • Name
    currency
    Type
    string
    Description
    Filter by loan currency.
  • Name
    status
    Type
    string
    Description
    Status name (see table above).
  • Name
    funding_source
    Type
    string
    Description
    Funding program filter.
  • Name
    start_date_gte
    Type
    string
    Description
    Period start on or after (ISO date).
  • Name
    start_date_lte
    Type
    string
    Description
    Period start on or before.
  • Name
    end_date_gte
    Type
    string
    Description
    Period end on or after.
  • Name
    end_date_lte
    Type
    string
    Description
    Period end on or before.
  • Name
    ordering
    Type
    string
    Description
    Sort field (default -created_at).

Request

GET
/payg/lms/payment-requests
curl -G https://api.hellotractor.com/payg/lms/payment-requests \
  -H "Authorization: Bearer {your_api_key}" \
  -d start_date_gte=2025-05-19 \
  -d end_date_lte=2025-05-25 \
  -d status=PAYMENT_COMPLETE

Response (redacted)

{
  "count": 10,
  "results": [
    {
      "id": 5001,
      "loanName": "Contract ***",
      "start_date": "2025-05-19",
      "end_date": "2025-05-25",
      "status": { "label": "PAYMENT_COMPLETE" },
      "currency": "NGN",
      "totalAmountIncMaintenanceFee": "125000.00"
    }
  ]
}

Checking access…


GET/payg/lms/payment-requests/:id

Retrieve a billing period

cURL

curl https://api.hellotractor.com/payg/lms/payment-requests/5001 \
  -H "Authorization: Bearer {your_api_key}"

New collaborators request access first; approved teams sign in and register integrations.

Was this page helpful?