Opereit · Arazzo Workflow

Opereit — audit a carrier invoice against a contract

Version 1.0.0

Upload a contract, upload and audit an invoice against it, then read the findings.

1 workflow 1 source API 1 provider
View Spec View on GitHub CompanyLogisticsSupply ChainShippingInvoice AuditingCost RecoveryFreight AuditArtificial IntelligenceAI AgentsArazzoWorkflows

Provider

opereit

Workflows

auditCarrierInvoice
End-to-end carrier invoice audit
Uploads a carrier contract, waits for extraction, creates an invoice audit against it, then retrieves the discrepancy findings.
3 steps inputs: contract_carrier_name, contract_file, contract_signing_date, invoice_file outputs: audit_id, contract_id, findings
1
uploadContract
uploadContract
2
createAudit
createInvoiceAudit
3
listFindings
listInvoiceAuditFindings

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Opereit — audit a carrier invoice against a contract
  version: 1.0.0
  summary: Upload a contract, upload and audit an invoice against it, then read the findings.
sourceDescriptions:
  - name: opereit
    url: ../openapi/opereit-invoice-auditing-openapi.json
    type: openapi
workflows:
  - workflowId: auditCarrierInvoice
    summary: End-to-end carrier invoice audit
    description: >-
      Uploads a carrier contract, waits for extraction, creates an invoice audit
      against it, then retrieves the discrepancy findings.
    inputs:
      type: object
      required: [contract_file, contract_carrier_name, contract_signing_date, invoice_file]
      properties:
        contract_file:
          type: string
          description: Path/binary of the carrier contract document (PDF, PNG, JPEG, CSV, XLS, XLSX).
        contract_carrier_name:
          type: string
          example: DHL Express
        contract_signing_date:
          type: string
          example: '2026-01-15'
        invoice_file:
          type: string
          description: Path/binary of the carrier invoice (PDF or CSV).
    steps:
      - stepId: uploadContract
        operationId: uploadContract
        requestBody:
          contentType: multipart/form-data
          payload:
            file: $inputs.contract_file
            carrier_name: $inputs.contract_carrier_name
            signing_date: $inputs.contract_signing_date
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          contract_id: $response.body#/contract/id
      - stepId: createAudit
        operationId: createInvoiceAudit
        requestBody:
          contentType: multipart/form-data
          payload:
            file: $inputs.invoice_file
            contract_id: $steps.uploadContract.outputs.contract_id
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          audit_id: $response.body#/audit/id
      - stepId: listFindings
        operationId: listInvoiceAuditFindings
        parameters:
          - name: audit_id
            in: path
            value: $steps.createAudit.outputs.audit_id
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          findings: $response.body#/data
    outputs:
      contract_id: $steps.uploadContract.outputs.contract_id
      audit_id: $steps.createAudit.outputs.audit_id
      findings: $steps.listFindings.outputs.findings