IFS

IFS Procurement API

Purchase orders and supplier management

OpenAPI Specification

ifs-procurement-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: IFS Cloud ERP Finance Procurement API
  description: IFS Cloud ERP REST API providing integration with financial management, procurement, manufacturing, project management, and supply chain modules. IFS Cloud exposes OData-compatible REST endpoints for accessing business entities across energy, manufacturing, aerospace, and defense industry verticals.
  version: 22.1.0
  contact:
    name: IFS Support
    url: https://www.ifs.com/support/
  license:
    name: IFS License
    url: https://www.ifs.com/
servers:
- url: https://{tenant}.ifs.cloud/main/ifsapp/data
  description: IFS Cloud REST API (OData endpoint)
  variables:
    tenant:
      default: yourcompany
      description: IFS Cloud tenant identifier
security:
- OAuth2: []
tags:
- name: Procurement
  description: Purchase orders and supplier management
paths:
  /PURCHASE_ORDER_API:
    get:
      operationId: listPurchaseOrders
      summary: List purchase orders
      description: Returns purchase orders with support for OData filtering by order date, supplier, status, and site.
      tags:
      - Procurement
      parameters:
      - name: $filter
        in: query
        schema:
          type: string
        description: OData filter (e.g., "OrderDate ge 2024-01-01 and OrderStatus eq 'Released'")
      - name: $top
        in: query
        schema:
          type: integer
          default: 100
      - name: $skip
        in: query
        schema:
          type: integer
          default: 0
      - name: $select
        in: query
        schema:
          type: string
      - name: $expand
        in: query
        schema:
          type: string
        description: Navigation properties to expand (e.g., "PurchaseOrderLines")
      responses:
        '200':
          description: Purchase orders returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderCollection'
  /PURCHASE_ORDER_API(OrderNo='{orderNo}'):
    get:
      operationId: getPurchaseOrder
      summary: Get purchase order
      description: Returns a specific purchase order by order number including lines, header data, and delivery schedule.
      tags:
      - Procurement
      parameters:
      - name: orderNo
        in: path
        required: true
        schema:
          type: string
        description: Purchase order number
      - name: $expand
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Purchase order returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrder'
        '404':
          description: Purchase order not found
components:
  schemas:
    PurchaseOrderLine:
      type: object
      properties:
        LineNo:
          type: integer
        PartNo:
          type: string
        Description:
          type: string
        OrderedQty:
          type: number
        ReceivedQty:
          type: number
        RemainingQty:
          type: number
        BuyUnitPrice:
          type: number
          format: double
        LineTotal:
          type: number
          format: double
    PurchaseOrder:
      type: object
      properties:
        OrderNo:
          type: string
        Contract:
          type: string
          description: Site/contract code
        VendorNo:
          type: string
        VendorName:
          type: string
        OrderDate:
          type: string
          format: date
        WantedDeliveryDate:
          type: string
          format: date
        OrderStatus:
          type: string
          enum:
          - Planned
          - Released
          - Closed
          - Cancelled
        TotalOrderAmount:
          type: number
          format: double
        CurrencyCode:
          type: string
        PurchaseOrderLines:
          type: array
          items:
            $ref: '#/components/schemas/PurchaseOrderLine'
    PurchaseOrderCollection:
      type: object
      properties:
        '@odata.context':
          type: string
        '@odata.count':
          type: integer
        value:
          type: array
          items:
            $ref: '#/components/schemas/PurchaseOrder'
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://login.ifs.cloud/oauth2/authorize
          tokenUrl: https://login.ifs.cloud/oauth2/token
          scopes:
            ifs.read: Read IFS data
            ifs.write: Write IFS data
externalDocs:
  description: IFS Cloud Documentation
  url: https://docs.ifs.com/