ExportInvoices

Request

Details are returned for all invoices that meet all of the criteria specified. The service request contains:

Name

Data Type

Required?

Default Value

Discussion

StartDate

date

no


Search for invoices issued on or after this date

EndDate

date

no


Search for invoices issued on or before this date

SearchString

string(100)

no


Searches for all or part of invoice number, client name, client code, engagement name, engagement code, project name, project code.

InvoiceNumber

string(100)

no


Enter one or more invoice numbers, separated by commas

IncludeDraftInvoicesFlag

boolean

no

false

Set to true to include invoices currently in the Draft state

IncludeApprovedInvoicesFlag

boolean

no

false

Set to true to include invoices currently in the Approved (but not issued) state

IncludeIssuedInvoicesFlagbooleannotrueSet to true to include invoices currently in the Issued state.
IncludePostFailedInvoicesFlagbooleannotrueSet to true to include invoices currently in the Post Failed state.
IncludeSentInvoicesFlagbooleannotrueSet to true to include invoices currently in the Sent state.
IncludeSendFailedInvoicesFlagbooleannotrueSet to true to include invoices currently in the Send Failed state.
IncludePaidInvoicesFlagbooleannotrueSet to true to include invoices currently in the Paid state.
IncludeOverdueInvoicesFlagbooleannotrueSet to true to include invoices currently in the overdue state.
SuppressInvoiceDetailsFlagbooleannofalseSet to true to suppress invoice detail information. This can reduce the execution time and payload size dramatically in situations where you don't need the full details of each invoice.


Response

If the invoice exists, then the following data is returned:

Name

Data Type

Discussion

InvoiceHeader

see below

One record per invoice

InvoiceTaxes

list of Tax

One record per tax on the invoice

InvoiceMilestones

list of Milestone

One record per milestone on the invoice

InvoiceTimeCards

list of TimeCard

One record per timecard on the invoice

InvoiceCostCards

list of CostCard

One record per costcard on the invoice

InvoicePrepayments

List of Prepayment

One record per engagement on the invoice

InvoiceEngagements

list of Engagement

One record per engagement that has time, cost, or milestones on the invoice

InvoiceProjects

list of Project

One record per project that has time or cost on the invoice

InvoiceClientUdfs

list of ClientUdf

These are the UDFs associated with the invoiced client

InvoiceRoleslist of Role(added 2018-06-07) One record per role on the invoice

InvoiceUdfs

list of InvoiceUdf

UDFs for the invoice. One record per UDF. 


InvoiceHeader


Name

Data Type

Discussion

InvoiceId

int

Internal identifier

InvoiceNumber

string(20)


DraftInvoiceNumber

string(20)


InvoiceStatus

string(1)


InvoiceDate

dateTime


InvoiceName

string


CurrencyName

string


CurrencyCode

string(3)


CultureName

string


PaymentTerms

string


TimeGrossAmtOption

string(1)


CostGrossAmtOption

string(1)


TimeBillingType

string(1)

<D>aily or <H>ourly

InvoiceTemplateName

string(10)


EngagementId

int

Internal ID. Null unless this invoice is an engagement invoice.

ProjectId

int

Internal ID. Null unless this invoice is a project invoice.

PurchaseOrderNumber

string


BillingInstructions

string


AddressAttention

string


AddressCompanyName

string


AddressLine1

string


AddressLine2

string


AddressCity

string


AddressStateOrProvince

string


AddressZipOrPostalCode

string


AddressCountry

string


ClientMessage

string(1000)

A per-invoice message to appear on the invoice. RTF is stripped out if present.

ClientId

int

Internal ID

ClientNumber

string


ClientName

string


CostCenterName

string


CostCenterReferenceSystemId

string


AdjustedRevenueAmountTotal

money


ClientAmountTotal

money


MilestoneAmountTotal

money


TaxAmountTotal

money


AppliedPrepaymentAmountTotal

money


InvoiceAmount

money



Tax


Name

Data Type

Discussion

TaxTypeName

string


TaxTypeCode

string


TaxableAmount

money


TaxRate

double


TaxAmount

money



Milestone


Name

Data Type

Discussion

EngagementId

int


EngagementName

string


EngagementCode

string


EngagementTypeNamestring
EngagementTypeShortNamestring

MilestoneName

string


AchievedDate

dateTime


MilestoneAmount

money


MilestoneDescriptionstring
ProjectIdint
ProjectNamestring
ProjectCodestring
ProjectTaskIdint
ProjectTaskNamestring
ProjectTaskFullWbsCodestring
ContractLineItemIdint
ContractLineItemNamestring
ContractLineItemCodestring


TimeCard


Name

Data Type

Discussion

ProjectId



ProjectName



ProjectCode



ResourceId



ResourceDisplayName



ResourceEmailAddress



ResourceReferenceSystemId

string(20)

Unique code identifying the resource.

ResourceTitleName

string(50)


ResourceDepartmentName



ResourceBillingTitleName

string(50)

The title on which the billing rate is based. This is the same as the ResourceTitleName unless the role is configured to bill using the rate associated with a different title.

ResourceBillingDepartmentName



WorkLocationName

string


ResourceCostCenterName

string

Name of resource's cost center at time of work.

ResourceCostCenterNumber

string

Cost Center Number of resource's cost center at time of work.

EngagementCostCenterName

string

Name of engagement cost center.

EngagementCostCenterNumber

string

Cost Center Number of engagement cost center.

ResourceLocationName

string

Name of resource's location at time of work.

ProjectLocationName

string

Name of project's location.

RoleName

string(32)

The role on which time was reported. May be null if this invoice is not issued and this time card has a pending transfer to a new role on a different project.

ProjectTaskCodeName

string(50)

Deprecated. Returns the same as ProjectTaskTypeName

ProjectTaskTypeName

string(50)


ProjectRateTypeName

string(50)


FullWbsCode

string


ProjectTaskName

string


WorkDate

date

Date for which the time was reported.

WorkHours

double

The number of hours worked.

DayFraction

double

When the TimeBillingType is "D" then DayFraction is the number of days billed on this time card.

StandardRevenueAmount

double


ContractRevenueAmount

double


AdjustedRevenueAmount

double


Description

string(1000)


SuppressFromInvoiceFlag

bool

True if the item should be suppressed from being displayed on the invoice. It can be true only if the adjusted revenue amount is zero.

ContractLineItemIdint
ContractLineItemNamestring
ContractLineItemCodestring
ProjectRoleIdint(added 2018-06-07)


CostCard


Name

Data Type

Discussion

ProjectId



ProjectName



ProjectCode



ResourceId



ResourceDisplayName



ResourceEmailAddress



ResourceReferenceSystemId

string(20)

Unique code identifying the resource.

ResourceTitleName

string(50)


ResourceDepartmentName



ExpenseLocationName

string


ResourceCostCenterName

string

Name of resource's cost center at time of incurred expense.

ResourceCostCenterNumber

string

Cost Center Number of resource's cost center at time of incurred expense.

EngagementCostCenterName

string

Name of engagement cost center.

EngagementCostCenterNumber

string

Cost Center Number of engagement cost center.

DisbursingCostCenterName

string(50)


DisbursingCostCenterNumber

string(40)


ResourceLocationName

string

Name of resource's location at time of incurred expense.

ProjectLocationName

string

Name of project's location.

CostCodeName

string(50)


IncurredDate

date

Date for which the cost was reported.

IncurredAmount

money


MileageUnits

double


ClientAmount

money


Description

string(100)

Description of the cost

ExpenseReportNumber

string(20)

Identifies the expense report that the card is assigned to. Null if the cost card is not associated with an expense report.

VendorInvoiceNumber

string(20)

Identifies the vendor invoice that the card is assigned to. Null if the cost card is not associated with a vendor invoice.

ResourceVendorReferenceSystemId

string(20)

Unique vendor code identifying the resource as a vendor.

VendorName

string(20)


VendorNumber

string(50)


ContractLineItemIdint
ContractLineItemNamestring
ContractLineItemCodestring

SuppressFromInvoiceFlag

bool

True if the item should be suppressed from being displayed on the invoice. It can be true only if the client amount is zero.


Prepayment


Name

Data Type

Discussion

EngagementId

int


EngagementName

string


EngagementCode

string


EngagementTypeNamestring
EngagementTypeShortNamestring

AppliedPrepaymentAmount

money


UnappliedPrepaymentAmount

money



Engagement


Name

Data Type

Discussion

EngagementId

int


EngagementName

string


EngagementCode

string


EngagementTypeNamestring
EngagementTypeShortNamestring

EngagementUdfs

list of EngagementUdf



Project


Name

Data Type

Discussion

ProjectId

int


ProjectName

string


ProjectCode

string


ProjectUdfs

list of ProjectUdf


Role


Name

Data Type

Discussion

ProjectRoleId

int


RoleName

string


ProjectCode

string


RoleUdfs

list of RoleUdf


RoleUdf

Name

Data Type

Discussion

ProjectRoleId

int


Name

string

role name

DataType

string

D: date

I: int

R: resource (int)

T: text (string)

Y: Yes/No (string)

L: text list (string)

S: stoplight

StringValuestringstring value of UDF
IntValueintint value of UDF
DateValuedatedate value of UDF
MonthlyString12Valuestringfor stoplight UDFs
WeeklyString12Valuestringfor stoplight UDFs
MonthlyString6Valuestringfor stoplight UDFs
WeeklyString6Valuestringfor stoplight UDFs

InvoiceUdf

Name

Data Type

Discussion

InvoiceId

int


Name

string

UDF name

DataType

string

D: date

I: int

R: resource (int)

T: text (string)

Y: Yes/No (string)

L: text list (string)

S: stoplight

StringValuestringstring value of UDF
IntValueintint value of UDF
DatetimeValuedatedate value of UDF
ReferenceInfostringresource ID for resource type invoice UDF
MonthlyString12Valuestringfor stoplight UDFs
WeeklyString12Valuestringfor stoplight UDFs
MonthlyString6Valuestringfor stoplight UDFs
WeeklyString6Valuestringfor stoplight UDFs


Notes

  • For invoices in the Draft or Approved state (invoices that are not issued), all pending adjustments that have been approved by both PM and finance are reflected in the time and cost card values. Other pending adjustments are not.
  • For non-issued invoices, the draft invoice number is reported as both the invoice number and the draft invoice number.
  • Time cards can be transferred to a new role on another project within the same invoice. In these cases, the new role will get created upon issue. Since this new role will not exist yet for non-issued invoices, ni these cases RoleName will be null.

Change log

4.4

Parameter

Notes

InvoiceHeader

ClientMessageText now has RTF stripped out and only text is returned

TimeCard

Added ProjectTaskTypeName

TimeCard

ProjectTaskCodeName is deprecated for the preferred ProjectTaskTypeName

TimeCard

Added ProjectRateTypeName

CostCard

Added DisbursingCostCenterName

CostCard

Added DisbursingCostCenterNumber