Create a GL Transaction with a Project Code That Does Not Produce a Project Transaction

If you are using the contract-based REST API to integrate MYOB Acumatica with an external system, this external system can import to MYOB Acumatica general ledger transactions with project codes that do not produce project transactions.

To create a general ledger transaction with a project code that does not produce a project transaction, you set the IsNonPM field of the JournalTransaction entity to true.

This setting could be used in the following user scenario: A construction company has built an integrated solution of MYOB Acumatica with an external payroll system. The external payroll system calculates payoffs, including benefits, additions, deductions, and taxes. Once a week, the construction company needs to import general ledger transactions with project information from this payroll system to MYOB Acumatica, where they are verified and released. The construction company doesn't want to update the project subledger in MYOB Acumatica with the information from general ledger transactions (for example, if the standard labor costs have already been posted to the project subledger from time entries).

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.
  2. On the Enable/Disable Features (CS100000) form, make sure the Projects feature is enabled.
  3. 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.
  4. 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.

Request

You can use the following request example to create a general ledger transaction through the contract-based REST API.

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=Details HTTP/1.1
Host: [<MYOB Acumatica instance URL>]/entity/Default/23.200.001/JournalTransaction
Accept: application/json
Content-Type: application/json

{
  "Module" : {"value" : "GL"},
  "TransactionDate" : {"value" : "2023-02-15T00:00:00"},
  "Description" : {"value" : "Transaction description"},
  "BranchID" : {"value" : "HEADOFFICE"},
  "Details" : [
  	{
  		"BranchID" : {"value" : "HEADOFFICE"},
  		"Account" : {"value" : "10200"},
  		"CostCode" : {"value" : "00000"},
  		"IsNonPM" : {"value" : true}
  	}
  ]
}