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 |
IncludeIssuedInvoicesFlag | boolean | no | true | Set to true to include invoices currently in the Issued state. |
IncludePostFailedInvoicesFlag | boolean | no | true | Set to true to include invoices currently in the Post Failed state. |
IncludeSentInvoicesFlag | boolean | no | true | Set to true to include invoices currently in the Sent state. |
IncludeSendFailedInvoicesFlag | boolean | no | true | Set to true to include invoices currently in the Send Failed state. |
IncludePaidInvoicesFlag | boolean | no | true | Set to true to include invoices currently in the Paid state. |
IncludeOverdueInvoicesFlag | boolean | no | true | Set to true to include invoices currently in the overdue state. |
SuppressInvoiceDetailsFlag | boolean | no | false | Set 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 |
InvoiceRoles | list 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 | |
EngagementTypeName | string | |
EngagementTypeShortName | string | |
MilestoneName | string | |
AchievedDate | dateTime | |
MilestoneAmount | money | |
MilestoneDescription | string | |
ProjectId | int | |
ProjectName | string | |
ProjectCode | string | |
ProjectTaskId | int | |
ProjectTaskName | string | |
ProjectTaskFullWbsCode | string | |
ContractLineItemId | int | |
ContractLineItemName | string | |
ContractLineItemCode | string |
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. |
ContractLineItemId | int | |
ContractLineItemName | string | |
ContractLineItemCode | string | |
ProjectRoleId | int | (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) | |
ContractLineItemId | int | |
ContractLineItemName | string | |
ContractLineItemCode | string | |
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 | |
EngagementTypeName | string | |
EngagementTypeShortName | string | |
AppliedPrepaymentAmount | money | |
UnappliedPrepaymentAmount | money |
Engagement
Name | Data Type | Discussion |
---|---|---|
EngagementId | int | |
EngagementName | string | |
EngagementCode | string | |
EngagementTypeName | string | |
EngagementTypeShortName | string | |
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 |
StringValue | string | string value of UDF |
IntValue | int | int value of UDF |
DateValue | date | date value of UDF |
MonthlyString12Value | string | for stoplight UDFs |
WeeklyString12Value | string | for stoplight UDFs |
MonthlyString6Value | string | for stoplight UDFs |
WeeklyString6Value | string | for 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 |
StringValue | string | string value of UDF |
IntValue | int | int value of UDF |
DatetimeValue | date | date value of UDF |
ReferenceInfo | string | resource ID for resource type invoice UDF |
MonthlyString12Value | string | for stoplight UDFs |
WeeklyString12Value | string | for stoplight UDFs |
MonthlyString6Value | string | for stoplight UDFs |
WeeklyString6Value | string | for 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 |