Specify the Next Billing Date for a Project

For a pro forma invoice to be created from a project, the project must have Customer, BillingRule, BillingPeriod, and NextBillingDate specified, and must have the Active status. If you are using the contract-based REST API to integrate MYOB Acumatica with an external system, this external system can specify various settings for a project, such as the next billing date. This step can be part of the larger process of creating and sending a pro forma invoice by email, which is described in Send a Pro Forma Invoice by Email.

Tip:
The next billing date of a project is specified on the Summary tab (the Billing and Allocation Settings section) of the Projects (PM301000) form.

Testing of the Request

Before you test the code below, you need to configure your client application and the MYOB Acumatica instance to be used as follows:
  1. Deploy a new MYOB Acumatica instance with the U100 dataset. For details on deploying an instance, see To Deploy an MYOB Acumatica Instance in the Installation Guide.
  2. On the Enable/Disable Features (CS100000) form, make sure the Projects feature is enabled.
  3. If you use Postman as the client application for testing, in the IntegrationDevelopmentGuide.postman_collection.json collection (which is located in the IntegrationDevelopment\Help folder of the Help-and-Training-Examples repository on GitHub), make sure the collection variables have the proper values.
  4. To sign in to the instance in the client application, use the tenant name (which you specified when you created the instance) and the HEADOFFICE branch.
  5. Implement the Make a Project Active example as a prerequisite to the current example. Because of data validation in the project, NextBillingDate is specified for the project after it is assigned the Active status.

Request

You can use the following example of an HTTP request to specify the next billing date for a project.
Tip:
In the request example below, <MYOB Acumatica instance URL> is the URL of the MYOB Acumatica instance (such as https://my.acumatica.com/MyInstance). You can omit the instance name in the URL (that is, you can use https://my.acumatica.com) if the instance is installed in the root of the website.
PUT ?$expand=BillingAndAllocationSettings HTTP/1.1
Host: [<MYOB Acumatica instance URL>]/entity/Default/23.200.001/Project
Accept: application/json
Content-Type: application/json

{
    "ProjectID" : {"value" : "TESTPR3"},
    "BillingAndAllocationSettings" : 
    {
        "NextBillingDate" : {"value" : "2021-08-15"}
    }
}