A Contract Invoice Policy is a saved filter set that lets you repeatedly generate contract invoices based on specified parameters. For example, you might create an invoice policy to generate invoices for a particular customer or item type, or for the work of a specific employee, or you might have an invoice policy for invoices associated with a particular project.
You can set a schedule on contract invoice policies to automatically generate invoices at regular intervals, such as every month.
Note this object has been renamed from Contract Invoice Filter Sets (GENINVOICEFILTERS) to Contract Invoice Policy (GENINVOICEPOLICY).
Get Contract Invoice Policy Object Definition
lookup
List all the fields and relationships for the contract invoice policy object:
Parameters
Name
Required
Type
Description
object
Required
string
Use GENINVOICEPOLICY
docparid
Optional
string
Used to indicate the document type, such as Inventory Transfer, Sales Order, Purchase Order and so forth. You must use this to take advantage of any custom fields on the specified document type.
List the record number and dynamic ‘as of date’ for each contract invoice policies:
Parameters
Name
Required
Type
Description
object
Required
string
Use GENINVOICEPOLICY
filter
Optional
object
Filter expression to limit the response to only objects that match the expression. Check the value of a single field using operators such as equalto/like, or multiple fields using and/or. Query fields on related objects using the dot operator (for example, VENDOR.CREDITLIMIT on APBILL).
select
Required
sequence
The names of the fields that you want included in the response, and an optional aggregate function such as count or sum. Returning all fields is not supported.
orderby
Optional
object
Provide an order element with a field name and choose an ascending or descending sort order, for example: <order> <field>RECORDNO</field> <descending/> </order>
Set the caseinsensitive element to true for a case-insensitive query <caseinsensitive>true</caseinsensitive>
In a multi-entity company, set the showprivate element to true to query data in private entities: <showprivate>true</showprivate>
Specify the returnformat for the response: xml (default), json, or csv <returnformat>json</returnformat>
pagesize
Optional
integer
Maximum number of matching objects to return in the response, between 1 and 2000 items (Default: 100)
offset
Optional
integer
Point at which to start indexing into records (Default: 0)
docparid
Optional
string
Used to indicate the document type, such as Inventory Transfer, Sales Order, Purchase Order and so forth. You must use this to take advantage of any custom fields on the specified document type.
Query and List Contract Invoice Policies (Legacy)
ReadByQuery
Name
Required
Type
Description
object
Required
string
Use GENINVOICEPOLICY
fields
Optional
string
Comma-separated list of fields on the object to list. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
query
Required
string
SQL-like query based on fields on the object. The following operators are supported: <, >, >=, <=, =, like, not like, in, not in, IS NOT NULL, IS NULL, AND, OR. Illegal XML characters must be properly encoded, and single quotes must be escaped with backslashes ('Jane\'s Deli'). Joins are not supported.
pagesize
Optional
integer
Custom page size between 1 and 1000 items (Default: 100)
docparid
Optional
string
Used to indicate the document type, such as Inventory Transfer, Sales Order, Purchase Order and so forth. You must use this to take advantage of any custom fields on the specified document type.
Get Contract Invoice Policy
read
Parameters
Name
Required
Type
Description
object
Required
string
Use GENINVOICEPOLICY
keys
Required
string
RECORDNO of the policy to get
fields
Optional
string
Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
docparid
Optional
string
Used to indicate the document type, such as Inventory Transfer, Sales Order, Purchase Order and so forth. You must use this to take advantage of any custom fields on the specified document type.
Added scheduling fields SCHEDULED, STARTDATE, REPEATBY, and REPEATINTERVAL
2022 Release 2
Renamed Contract Filter Set to Contract Invoice Policy
2021 Release 3
Added BILLTO as a value for INVOICEBY
2020 Release 4
Added CUSTOMER as a value for INVOICEBY
2019 Release 4
Added INVOICEBY
create
Creates an invoice policy for the given contract:
Creates an invoice policy for the same contract but requests a separate invoice for each project associated with the contract:
Parameters
Name
Required
Type
Description
GENINVOICEPOLICY
Required
string
Type of object to create.
GENINVOICEPOLICY
General Properties
Name
Required
Type
Description
NAME
Required
string
A short identifier for the invoice policy. This ID will appear in any applicable invoice policy selection lists in Intacct. You can’t change the Name after you save the invoice policy.
DESCRIPTION
Optional
string
A meaningful description of the invoice policy.
DOCPARID
Optional
string
The DOCID of the transaction definition to use for invoices generated using this invoice policy. The definition must be enabled for Contracts and be defined to post to Accounts Receivable and have “Track line item discount/surcharge” set to true.
SETASOFDATE
Optional
string
As-of date to be used when generating invoices. For example, if SETASOFDATE = End of this month and this month is June, Intacct will set the As of date to June 30 when you generate invoices using this policy.
Today
Yesterday
End of this week
End of last week
Beginning of this month
End of this month
End of last month
(Default: today’s date)
INVOICEBY
Optional
string
Specifies how the invoices are organized and consolidated:
CUSTOMER#~#CONTRACT - A separate invoice for each contract (Legacy value: CONTRACT). (default)
CUSTOMER#~#CONTRACT#~#BILLTO - A separate invoice for each contract per contract line level Bill to contact.
CUSTOMER - A separate invoice for each customer
CUSTOMER#~#BILLTO - A separate invoice for each customer per contract line level Bill to contact.
CUSTOMER#~#CONTRACT#~#PROJECT - A separate invoice for each project associated with the contract. (Legacy value: PROJECT#~#CONTRACT or CONTRACT#-#PROJECT)
CUSTOMER#~#CONTRACT#~#BILLTO#~#PROJECT - A separate invoice for each project associated with the contract per contract line level Bill to contact.
PRICELISTID
Optional
string
The NAME of an order entry price list to use to override pricing for billable transactions related to projects. This price list overrides any price list set on the selected transaction definition, customer, and so on. This field is only applicable if your company is subscribed to Projects.
STATUS
Optional
string
Status for the policy itself.
active - the policy can be used to generate invoices (default)
inactive - the policy cannot be used to generate invoices
Filters
Use filters to define the work and costs to be included in invoices. For example, you can create a contract invoice policy for all work on a specific contract, or one that generates invoices for work done on a specific contract at a specified location, or invoices for an item.
Name
Required
Type
Description
CLASSID
Optional
string
CLASSID of a class to only include work tagged with the specified class.
CLASSGROUPID
Optional
string
ID of a class group to only include work tagged with any of the classes in that group.
CONTRACTID
Optional
string
CONTRACTID of a contract to only include work for the specified contract.
CONTRACTGROUPID
Optional
string
The ID of a contract group to generate invoices for the specified contract group.
CONTRACTTYPEID
Optional
string
The NAME of a contract type to only include work from contacts with that type.
CURRENCY
Optional
currency
Set a currency code to only include invoices from contracts that use that transaction currency. Only applicable to multi-currency companies.
CUSTOMERID
Optional
string
CUSTOMERID of a customer to generate invoices for a specified customer.
CUSTOMERTYPEID
Optional
string
The NAME of a customer type to generate invoices for a specified customer type.
CUSTOMERGROUPID
Optional
string
ID of a customer group to only include work done for customers in that group.
DEPARTMENTID
Optional
string
DEPARTMENTID of a department to generate invoices for that department.
DEPARTMENTGROUPID
Optional
string
ID of a department group to only include work assocaited with departments in that group.
EMPLOYEEID
Optional
string
EMPLOYEEID of an employee to generate invoices for the work of that employee.
EMPLOYEEGROUPID
Optional
string
ID of an employee group to generate invoices for the work of employees in that group.
ITEMID
Required
string
ITEMID of an item to generate invoices for a specified item.
ITEMGROUPID
Optional
string
ID of an item group to generate invoices for items in a specified item group.
LOCATIONID
Optional
string
LOCATIONID of a location to restrict invoices to the specified location.
LOCATIONGROUPID
Optional
string
ID of a location group to only include work done at any of the locations in that group.
PROJECTID
Optional
string
PROJECTID of an active project to generate invoices for that project.
PROJECTTYPEID
Optional
string
The NAME of an active project type to generate invoices for that project type.
PROJECTGROUPID
Optional
string
ID of a project group to generate invoices for all projects in that group.
PROJECTMANAGERID
Optional
string
EMPLOYEEID of the project manager to generate invoices for projects associated with that project manager.
Transactions to include
Name
Required
Type
Description
INCLUDECONTRACTS
Optional
Boolean
Whether contract transactions are included in invoices.
false - contract transactions are not included (default)
false - purchasing transactions are not included (default)
true - purchasing transactions are included
Exception filters
Note: The Exception filters are for previewing or reporting only - you won’t be able to generate invoices that include unapproved transactions or transactions with missing prices.
Name
Required
Type
Description
APPROVALSTATUS
Optional
string
Filter to see only approved or unapproved transactions.
Approved - Billable transactions that are approved.
Unapproved - Billable transactions (such as vendor invoices, expense reports, and timesheets) that have not posted to the GL and are either in a Draft, Submitted, or Declined State.
Both - Ignore Approval status when filtering results.
BLANKPRICESONLY
Optional
string
Include only billable transactions that are missing prices. Use this option to create an exception report.
false (default)
true
Scheduling
Name
Required
Type
Description
SCHEDULED
Optional
Boolean
Specifies if the invoice policy is set to automatically generate invoices using the STARTDATE, REPEATBY and REPEATINTERVAL values.
false (default)
true
STARTDATE
Optional
string
The start date for automatically generating invoices, in mm/dd/yyyy format. Required if SCHEDULED is true.
REPEATBY
Optional
string
Unit of time for schedule repeat frequency. Required if SCHEDULED is true.
Days
Weeks
Months
REPEATINTERVAL
Optional
integer
The schedule repeat interval. Required if SCHEDULED is true.
Added scheduling fields SCHEDULED, STARTDATE, REPEATBY, and REPEATINTERVAL
2022 Release 2
Renamed Contract Filter Set to Contract Invoice Policy
2021 Release 3
Added BILLTO as a value for INVOICEBY
2020 Release 4
Added CUSTOMER as a value for INVOICEBY
2019 Release 4
Added INVOICEBY
update
Parameters
Name
Required
Type
Description
GENINVOICEPOLICY
Required
string
Type of object to update.
GENINVOICEPOLICY
General Properties
Name
Required
Type
Description
RECORDNO
Optional
integer
Record number of the policy to update. Required if not using NAME.
NAME
Optional
string
Name of the policy to update. Required if not using RECORDNO. Note that you cannot change a policy name.
DESCRIPTION
Optional
string
A meaningful description of the invoice policy.
DOCPARID
Optional
string
The DOCID of the transaction definition to use for invoices generated using this invoice policy. The definition must be enabled for Contracts and be defined to post to Accounts Receivable and have “Track line item discount/surcharge” set to true.
SETASOFDATE
Optional
string
As-of date to be used when generating invoices. For example, if SETASOFDATE = End of this month and this month is June, Intacct will set the As of date to June 30 when you generate invoices using this policy.
Today
Yesterday
End of this week
End of last week
Beginning of this month
End of this month
End of last month
(Default: today’s date)
INVOICEBY
Optional
string
Specifies how the invoices are organized and consolidated:
CUSTOMER#~#CONTRACT - A separate invoice for each contract (Legacy value: CONTRACT). (default)
CUSTOMER#~#CONTRACT#~#BILLTO - A separate invoice for each contract per contract line level Bill to contact.
CUSTOMER - A separate invoice for each customer
CUSTOMER#~#BILLTO - A separate invoice for each customer per contract line level Bill to contact.
CUSTOMER#~#CONTRACT#~#PROJECT - A separate invoice for each project associated with the contract. (Legacy value: PROJECT#~#CONTRACT or CONTRACT#-#PROJECT)
CUSTOMER#~#CONTRACT#~#BILLTO#~#PROJECT - A separate invoice for each project associated with the contract per contract line level Bill to contact.
PRICELISTID
Optional
string
The NAME of an order entry price list to use to override pricing for billable transactions related to projects. This price list overrides any price list set on the selected transaction definition, customer, and so on. This field is only applicable if your company is subscribed to Projects.
STATUS
Optional
string
Status for the policy itself.
active - the policy can be used to generate invoices (default)
inactive - the policy cannot be used to generate invoices
Filters
Use filters to define the work and costs to be included in invoices. For example, you can create a contract invoice policy for all work on a specific contract, or one that generates invoices for work done on a specific contract at a specified location, or invoices for an item.
Name
Required
Type
Description
CLASSID
Optional
string
CLASSID of a class to only include work tagged with the specified class.
CLASSGROUPID
Optional
string
ID of a class group to only include work tagged with any of the classes in that group.
CONTRACTID
Optional
string
CONTRACTID of a contract to only include work for the specified contract.
CONTRACTGROUPID
Optional
string
The ID of a contract group to generate invoices for the specified contract group.
CONTRACTTYPEID
Optional
string
The NAME of a contract type to only include work from contacts with that type.
CURRENCY
Optional
currency
Set a currency code to only include invoices from contracts that use that transaction currency. Only applicable to multi-currency companies.
CUSTOMERID
Optional
string
CUSTOMERID of a customer to generate invoices for a specified customer.
CUSTOMERTYPEID
Optional
string
The NAME of a customer type to generate invoices for a specified customer type.
CUSTOMERGROUPID
Optional
string
ID of a customer group to only include work done for customers in that group.
DEPARTMENTID
Optional
string
DEPARTMENTID of a department to generate invoices for that department.
DEPARTMENTGROUPID
Optional
string
ID of a department group to only include work assocaited with departments in that group.
EMPLOYEEID
Optional
string
EMPLOYEEID of an employee to generate invoices for the work of that employee.
EMPLOYEEGROUPID
Optional
string
ID of an employee group to generate invoices for the work of employees in that group.
ITEMID
Required
string
ITEMID of an item to generate invoices for a specified item.
ITEMGROUPID
Optional
string
ID of an item group to generate invoices for items in a specified item group.
LOCATIONID
Optional
string
LOCATIONID of a location to restrict invoices to the specified location.
LOCATIONGROUPID
Optional
string
ID of a location group to only include work done at any of the locations in that group.
PROJECTID
Optional
string
PROJECTID of an active project to generate invoices for that project.
PROJECTTYPEID
Optional
string
The NAME of an active project type to generate invoices for that project type.
PROJECTGROUPID
Optional
string
ID of a project group to generate invoices for all projects in that group.
PROJECTMANAGERID
Optional
string
EMPLOYEEID of the project manager to generate invoices for projects associated with that project manager.
Transactions to include
Name
Required
Type
Description
INCLUDECONTRACTS
Optional
Boolean
Whether contract transactions are included in invoices.
false - contract transactions are not included (default)
false - purchasing transactions are not included (default)
true - purchasing transactions are included
Exception filters
Note: The Exception filters are for previewing or reporting only - you won’t be able to generate invoices that include unapproved transactions or transactions with missing prices.
Name
Required
Type
Description
APPROVALSTATUS
Optional
string
Filter to see only approved or unapproved transactions.
Approved - Billable transactions that are approved.
Unapproved - Billable transactions (such as vendor invoices, expense reports, and timesheets) that have not posted to the GL and are either in a Draft, Submitted, or Declined State.
Both - Ignore Approval status when filtering results.
BLANKPRICESONLY
Optional
string
Include only billable transactions that are missing prices. Use this option to create an exception report.
false (default)
true
Scheduling
Name
Required
Type
Description
SCHEDULED
Optional
Boolean
Specifies if the invoice policy is set to automatically generate invoices using the STARTDATE, REPEATBY and REPEATINTERVAL values.
false (default)
true
STARTDATE
Optional
string
The start date for automatically generating invoices, in mm/dd/yyyy format. Required if SCHEDULED is true.
REPEATBY
Optional
string
Unit of time for schedule repeat frequency. Required if SCHEDULED is true.
Days
Weeks
Months
REPEATINTERVAL
Optional
integer
The schedule repeat interval. Required if SCHEDULED is true.
Delete Contract Invoice Policy
delete
Parameters
Name
Required
Type
Description
GENINVOICEPOLICY
Required
string
Object to delete
GENINVOICEPOLICY
Name
Required
Type
Description
keys
Required
string
Comma-separated list of RECORDNO for the policy to delete