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:
- The Invoice Graph allows Draw Number and Contract Number as filter options.
- Iterate through the data by changing the offset and next in the invoiceLine subgraph until you receive an empty InvoiceLine list for all invoices.
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
}
|
---|