New API version v7.12 has been released! 🎉
REST DocumentationProjectsGET List a project's invoice positions across all of its invoices

List a project’s invoice positions across all of its invoices

Equivalent to GET /invoices/{invoice}/items but scoped to a project instead of a single invoice.

Availability: Full version only — a Clock instance answers 404 for this endpoint.

Request

GET /api/v1/projects/{id}/invoice-items
curl --request GET \
     --url 'https://www.zep-online.de/zepinstanz/next/api/v1/projects/{id}/invoice-items' \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer {token}'

Path parameters

  • Name
    id
    Type
    integer
    Description

    The project ID

Query parameters

  • Name
    perPage
    Type
    integer, nullable
    Description

    Ignored on this endpoint — send limit instead. Any value given here is replaced by limit, or by the default when limit is absent.

  • Name
    page
    Type
    integer, nullable
    Description

    The page of results to return, counting from 1.

  • Name
    orderBy
    Type
    string, nullable
    Description

    Name of the field to sort by.

  • Name
    order
    Type
    string, nullable
    Description

    Sort direction, ascending or descending.

    One of: "asc", "desc"

  • Name
    limit
    Type
    integer, nullable
    Description

    The number of records per page, 1 to 200. Defaults to 15.

  • Name
    id[]
    Type
    array of integer
    Description

    Restrict the result to one or more invoice-item ids.

  • Name
    status[]
    Type
    array of integer
    Description

    Restrict the result to one or more statuses: 0 planned, 1 approved, 2 billed, 3 cancelled. A single value is accepted as well as a list (status[]=0&status[]=1).

  • Name
    project_id[]
    Type
    array of integer
    Description

    Restrict the result to one or more project ids.

  • Name
    planned_from
    Type
    string (date-time), nullable
    Description

    Only return items whose planned_date is on or after this date (inclusive).

  • Name
    planned_to
    Type
    string (date-time), nullable
    Description

    Only return items whose planned_date is on or before this date (inclusive).

Response

{
  "data": [
    {
      "id": 1,
      "project_id": 16,
      "customer_number": "K-12345",
      "from": "2026-01-31T09:00:00.000000Z",
      "to": "2026-01-31T09:00:00.000000Z",
      "repetition": 1,
      "quantity": 1.5,
      "unit_price": 1.5,
      "unit": "Stunde",
      "currency": "EUR",
      "language": "de",
      "status": {
        "id": 1,
        "name": "Geplante"
      },
      "kind": {
        "id": 1,
        "name": "Aufwand"
      },
      "invoice_number": "20240001",
      "invoice_text": "string",
      "sorting": 1,
      "contains_working_hours": true,
      "contains_receipts": true,
      "contains_travel_expenses": true,
      "planned_amount": 1.5,
      "planned_date": "2024-05-31T00:00:00.000000Z",
      "billed_amount": 1.5,
      "billed_date": "2024-05-31T00:00:00.000000Z",
      "vat": 1.5,
      "project_task_id": 1,
      "ticket_id": 1234,
      "article_id": 1,
      "revenueAccounts": [
        {
          "vat": "string",
          "revenue_account": "string"
        }
      ],
      "sales_manager": "string"
    }
  ],
  "links": {
    "first": "string",
    "last": "string",
    "prev": "string",
    "next": "string"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "links": [
      {
        "url": "string",
        "label": "string",
        "active": true
      }
    ],
    "path": "string",
    "per_page": 1,
    "to": 1,
    "total": 1
  }
}

Response fields

  • Name
    id
    Type
    integer
    Description

    Unique identifier of the invoice position.

  • Name
    project_id
    Type
    integer, nullable
    Description

    The project this position bills against.

  • Name
    customer_number
    Type
    string, nullable
    Description

    The customer the position’s project belongs to.

  • Name
    from
    Type
    string (date-time), nullable
    Description

    Start of the service period this position covers.

  • Name
    to
    Type
    string (date-time), nullable
    Description

    End of the service period this position covers.

  • Name
    repetition
    Type
    integer, nullable
    Description

    How many times this position recurs, for repeating positions.

  • Name
    quantity
    Type
    number, nullable
    Description

    The billed quantity, in the position’s unit.

  • Name
    unit_price
    Type
    number, nullable
    Description

    The price per unit, in the position’s currency.

  • Name
    unit
    Type
    string, nullable
    Description

    The unit the quantity and price are measured in.

  • Name
    currency
    Type
    string, nullable
    Description

    The three-letter currency code of unit_price and the derived amounts.

  • Name
    language
    Type
    string, nullable
    Description

    The language the invoice text is written in.

  • Name
    status
    Type
    object
    Description

    The position’s processing state — planned, approved, billed or cancelled.

  • Name
    status.id
    Type
    integer
    Description

    The stored value. Compare against this, not against name.

  • Name
    status.name
    Type
    string
    Description

    The human-readable label, delivered in the tenant’s language. Do not parse it.

    One of: "Geplante", "genehmigt", "Billed", "Canceled"

  • Name
    kind
    Type
    object
    Description

    What this position bills for — working hours, receipts, a flat fee or a manual entry.

  • Name
    kind.id
    Type
    integer
    Description

    The stored value. Compare against this, not against name.

  • Name
    kind.name
    Type
    string
    Description

    The human-readable label, delivered in the tenant’s language. Do not parse it.

    One of: "Aufwand", "Flat Rate", "Project Task", "Other Receipts", "Travel Flat Rates", "Ticket", "Artikel", "Cancellation Credit", "Final Performance Level", "Partial Payment on Performance Level", "Partial Payment Percent", "Final Payment Percent", "Partial Payment Fixed Price", "Final Payment Fixed Price", "Partial Payment Costs", "Partial Payment Costs VMA", "Partial Payment Costs Receipts", "Final Payment Costs", "Final Payment Costs Receipts", "Final Invoice Costs VMA", "Prozent", "Careforce Month End"

  • Name
    invoice_number
    Type
    string, nullable
    Description

    The invoice this position was billed on, once it has been billed.

  • Name
    invoice_text
    Type
    string, nullable
    Description

    The text printed for this position on the invoice.

  • Name
    sorting
    Type
    integer, nullable
    Description

    The position’s order among the invoice’s other positions.

  • Name
    contains_working_hours
    Type
    boolean, nullable
    Description

    Whether this position bills recorded working hours.

  • Name
    contains_receipts
    Type
    boolean, nullable
    Description

    Whether this position bills recorded receipts.

  • Name
    contains_travel_expenses
    Type
    boolean, nullable
    Description

    Whether this position bills recorded travel expenses.

  • Name
    planned_amount
    Type
    number, nullable
    Description

    The forecast amount for this position while it is only planned or approved.

  • Name
    planned_date
    Type
    string (date-time)
    Description

    The planned invoice date this position is scheduled to be billed on; the list filters act on this field, not on from/to.

  • Name
    billed_amount
    Type
    number, nullable
    Description

    The billed amount, net of tax; 0 while the position is only planned or approved and not yet cancelled.

  • Name
    billed_date
    Type
    string, nullable
    Description

    The date of the invoice this position was actually billed on.

  • Name
    vat
    Type
    number, nullable
    Description

    The VAT percentage rate applied to this position.

  • Name
    project_task_id
    Type
    integer, nullable
    Description

    The project task this position bills against, if the project uses tasks.

  • Name
    ticket_id
    Type
    integer, nullable
    Description

    The ticket this position bills against, if it originates from a ticket.

  • Name
    article_id
    Type
    integer, nullable
    Description

    The article this position bills, if it was created from the article catalogue.

  • Name
    revenueAccounts
    Type
    array of object
    Description

    The bookkeeping accounts this position’s revenue is split across, present only where revenue accounts are kept.

  • Name
    revenueAccounts.vat
    Type
    string
    Description

    The VAT percentage rate this bookkeeping entry applies to.

  • Name
    revenueAccounts.revenue_account
    Type
    string
    Description

    The bookkeeping account the revenue at this rate is posted to.

  • Name
    sales_manager
    Type
    string
    Description

    The employee carrying revenue responsibility for this position. Only on instances with the MOD_HHPBERLIN extension. Not a generally available feature.

Generated from the OpenAPI specification — edit the source code, not this page.