Use Cases

Refer to the use cases below for examples of querying and retrieving data through Postman.

Use Case 1: Retrieve invoice details only for a specific draw in a contract.

query Invoice

{

invoice (organizationID: XXXXXX, offset: 0, next: 1000, drawNumber: 1, contractNumber:"XXXX")

{

id

selfWorkThisPeriod

subcontractedWorkThisPeriod

selfMaterialStoredThisPeriod

subcontractedMaterialStoredThisPeriod

selfBilledAmountThisPeriod

subcontractedBilledAmountThisPeriod

selfRetentionAmountThisPeriod

subcontractedRetentionAmountThisPeriod

selfRetentionAmountThisPeriod

subcontractedRetentionAmountThisPeriod

taxAmount

submitDate

approvedDate

authorizedDate

invoiceStatus

netPaymentDue

netInvoiceAmount

}

}

Use Case 2: Incremental: Retrieve invoice details and invoice lines that were modified within a specified date range. This allows for incremental data extraction (daily, weekly, or monthly updates).

Note: Filtering by contract number or project number has the potential to retrieve results more quickly and avoid timeouts.

query InvoicesWithInvoiceLines
{
invoice(organizationID:164769,offset:0,next:500, dateModifiedBegin:"2025-03-01T00:00")
{
id
invoiceNumber
invoiceLines(offset:0, next:100){
  id
  selfWorkThisPeriod
  selfMaterialStoredThisPeriod
  selfRetentionAmountThisPeriod
  selfRetentionReleasedThisPeriod
  subcontractedWorkThisPeriod
  subcontractedMaterialStoredThisPeriod
  subcontractedRetentionAmountThisPeriod
  subcontractedRetentionReleasedThisPeriod
  parentPhaseCode
  parentPhaseCodeDescription
  phaseCode
  phaseCodeDescription
  parentInvoiceCode
  parentInvoiceCodeDescription
  invoiceCode
  invoiceCodeDescription
  breakoutCode
  breakoutCodeDescription
  parentBreakoutCode
  parentBreakoutCodeDescription
  handlingCode
  parentHandlingCode
  handlingCodeDescription
  parentHandlingCodeDescription
  unitPrice
  unitOfMeasure
  selfQtyThisPeriod
  subcontractedQtyThisPeriod
  selfMaterialQtyThisPeriod
  subcontractedMaterialQtyThisPeriod
  taxCode
  taxRate
  selfTaxAmountThisPeriod
  subcontractedTaxAmountThisPeriod
}}}

Use Case 3: Retrieve submitted invoice details along with their corresponding invoice lines for a specific draw in a contract.

Notes:

query UnApprovedInvoicesWithInvoiceLines

{

Invoice (organizationID:XXXXXX,offset:0,next:100,invoiceStatus: [RECEIVED], drawNumber: 1, contractNumber:"XXXX")

{

id

invoiceNumber

invoiceLines(offset:0, next:100){

id

selfWorkThisPeriod

selfMaterialStoredThisPeriod

selfRetentionAmountThisPeriod

selfRetentionReleasedThisPeriod

subcontractedWorkThisPeriod

subcontractedMaterialStoredThisPeriod

subcontractedRetentionAmountThisPeriod

subcontractedRetentionReleasedThisPeriod

parentPhaseCode

parentPhaseCodeDescription

phaseCode

phaseCodeDescription

parentInvoiceCode

parentInvoiceCodeDescription

invoiceCode

invoiceCodeDescription

breakoutCode

breakoutCodeDescription

parentBreakoutCode

parentBreakoutCodeDescription

handlingCode

parentHandlingCode

handlingCodeDescription

parentHandlingCodeDescription

unitPrice

unitOfMeasure

selfQtyThisPeriod

subcontractedQtyThisPeriod

selfMaterialQtyThisPeriod

subcontractedMaterialQtyThisPeriod

taxCode

taxRate

selfTaxAmountThisPeriod

subcontractedTaxAmountThisPeriod

}}}

Use Case 4: Retrieve contract data.

Note: Filtering by contract number or project number has the potential to retrieve results more quickly and avoid timeouts.

query Contract

{

Contract (organizationID: XXXXXX, offset: 0, next: 1000) {

id

comment

contractDate

dateConfirmed

dateCreated

description

isComplete

contractDate

selfBalanceDue

selfBilledToDate

selfChangeOrderAmount

selfContractAmount

selfOriginalContractAmount

selfPercentCompleteToDate

selfRetentionToDate

subcontractedBalanceDue

subcontractedBilledToDate

subcontractedChangeOrderAmount

subcontractedContractAmount

subcontractedOriginalContractAmount

subcontractedPercentCompleteToDate

subcontractedRetentionToDate

vendorID

tpaStatus

tpaSubFeePercentage

}

}

Use Case 5: Retrieve associated project data, TPA program details, organization information, parent contract reference, and assigned supplier tracking data for a given contract.

query Contract {

contract (organizationID: XXXXXX, offset: 0, next: 1000 contractNumber: XXXX)

{

id

comment

contractDate

dateConfirmed

dateCreated

description

isComplete

contractDate

selfBalanceDue

selfBilledToDate

selfChangeOrderAmount

selfContractAmount

selfOriginalContractAmount

selfPercentCompleteToDate

selfRetentionToDate

subcontractedBalanceDue

subcontractedBilledToDate

subcontractedChangeOrderAmount

subcontractedContractAmount

subcontractedOriginalContractAmount

subcontractedPercentCompleteToDate

subcontractedRetentionToDate

vendorID

tpaStatus

tpaSubFeePercentage

tpaProgram {

id

}

project {

id

}

parentContract {

id

}

organization {

texturaCustomerNumber

}

supplierTrackingSelectedValue {

id

}

}

}

Use Case 6: Fetch all invoices and disbursable for a given contract.

Note: Retrieving list subgraphs (e.g., invoice, disbursable, and contract) may result in slower response times due to potentially large volume of associated records.

query Contract {

contract(organizationID: 0, offset: 0, next: 1000, contractNumber: XXXX) {

id

comment

contractDate

dateConfirmed

dateCreated

description

isComplete

contractDate

selfBalanceDue

selfBilledToDate

selfChangeOrderAmount

selfContractAmount

selfOriginalContractAmount

selfPercentCompleteToDate

selfRetentionToDate

subcontractedBalanceDue

subcontractedBilledToDate

subcontractedChangeOrderAmount

subcontractedContractAmount

subcontractedOriginalContractAmount

subcontractedPercentCompleteToDate

subcontractedRetentionToDate

vendorID

tpaStatus

tpaSubFeePercentage

invoices {

id

}

disbursables {

id

}

}

}

Use Case 7: Retrieve a list of disbursed invoices of TPA-enabled projects.

Query TPA

{

payment(organizationID:163247,offset:0,next:30,isTPAPayment:true)

{

id

invoice

{

id

}

}

}

Use Case 8: Retrieve a list of rejected invoices of all projects, including TPA-enabled projects.

query TPA1

{

invoice(organizationID:163247,offset:0,next:30,invoiceStatus: [REJECTED])

{

id

}



Last Published Friday, September 5, 2025