Skip to main content

 

 

Coupa Success Portal

COA/ Account String one time bulk update using API

Overview

It is a common business requirement to modify the chart of account structure as business expands. In such instances, the inflight transactions like purchase requisitions, purchase orders, invoices, credit notes, expense reports etc. will need to be updated to include the additional segments and new combinations.

This document will help in updating the billing string or the accounting combination used on inflight transactions. This document also covers the split accountings update.

Scope

We will be covering the following transaction updates in this document

  • Requisition Lines without allocations
  • Requisition Lines with allocations
  • Purchase Order Lines without allocations
  • Purchase Order Lines with allocations
  • Purchase Order Change Lines without allocations
  • Purchase Order Change Lines with allocations
  • Invoice Lines without allocations
  • Invoice Lines with allocations
  • Expense Lines without allocations
  • Expense Lines with allocations

Prerequisites

To bulk update the accounting string on all inflight transactions via API, we need to extract a report of the following fields in CSV format. This report will be fed as an input to the API script to bulk update the accounting combinations.

  • Id
  • Line Id
  • Account code
  • Chart of Account Id
  • Allocation Id
  • Segment 1
  • Segment 2
  • Segment 3
  • Segment 4
  • Segment 20
  • Purchase Order Change Active Approver Login
  • Split Allocation Percentage

The above mentioned fields are mandatory for executing the PAI script. However it is a good practise to export all the fields that uniquely identifies the transaction for reconciliation and future reference.

Keep a copy of the exported data before modifying the accounting combinations.

  • Format the file to a strict CSV format.
  • Do not edit CSV files using Excel to avoid data corruption
  • Enclose all string fields with double quotes.
  • Replace all special characters to html encoded characters

Ref: https://dev.w3.org/html5/html-author/charref

Example call

The subsection below contains the API script details for each transaction type.
Create an API key to use on these scripts and provide a meaningful name to the API key as it will be displayed in the history section of the transaction.

Requisition Lines without allocations

Extract a report with the following fields

  • Req Id
  • Req Line Id
  • Account code
  • Chart of Account Id
  • Segment 1 …. 20

The column headers should exactly match the variable names used in the below API script. Create a collection in Postman (API client) with the following details.

Method PUT
Endpoint URL https://{{instance-url}}/api/requisitions/{{req_id}}
Request headers
  • Content-Type: application/xml
  • Accept: application/xml
  • X-coupa-api-key: {{api-key}}
Request Body Raw/XML
Payload
<requisition-header>
   <requisition-lines>
       <requisition-line>
           <id>{{req_line_id}}</id>
           <account>
               <code>{{account_code}}</code>
               <segment-1>{{seg1}}</segment-1>
               <segment-2>{{seg2}}</segment-2>
               <segment-3>{{seg3}}</segment-3>
               <segment-4>{{seg4}}</segment-4>
               <segment-5>{{seg5}}</segment-5>
               <segment-6>{{seg6}}</segment-6>
               <segment-7>{{seg7}}</segment-7>
               <segment-8>{{seg8}}</segment-8>
               <segment-9>{{seg9}}</segment-9>
               <segment-10>{{seg10}}</segment-10>
               <segment-11>{{seg11}}</segment-11>
               <segment-12>{{seg12}}</segment-12>
               <segment-13>{{seg13}}</segment-13>
               <segment-14>{{seg14}}</segment-14>
               <account-type>
                   <id>{{coa_id}}</id>
               </account-type>
           </account>
       </requisition-line>
   </requisition-lines>
</requisition-header>

Open the collection runner, select the collection just created, pass the csv report as input and execute the API script.

  1. Run the collection by clicking on the options next to the name.
    postman-run-collection.png
  2. Click the Select File button to choose the collection.
    postman-select-file.png
  3. Set the Data File Type field to the file type approrpiate for your selecte file.
  4. Select the following options:
    • Keep variable values
    • Run collection without using stored cookies
    • Save cookies after collection run
  5. Click the Run Sample API Collection after reviewing the iterations (Number of iterations should be equal to the number of records in the file)

Monitor for success and failures. For failed transactions review the response body for more details on the reason for failure:

  • Error: Status 400, 404, 501 on the record indicate errors. Please review the transactions that fail and reload the failed ones
  • Success: Status 200 on the record indicates that the api call was successful.

Other calls

Requisition Lines with allocations

Extract a report with the following fields

  • Req Id
  • Req Line Id
  • Allocation ID
  • Allocation Account code
  • Allocation Segment 1 …. 20
  • Chart of Account Id

The column headers should exactly match the variable names used in the below API script. Create a collection in Postman (API client) with the following details.

Method PUT
Endpoint URL https://{{instance-url}}/api/requisitions/{{req_id}}
Request headers
  • Content-Type: application/xml
  • Accept: application/xml
  • X-coupa-api-key: {{api-key}}
Request Body Raw/XML
Payload
<requisition-header>
   <requisition-lines>
       <requisition-line>
           <id>{{req_line_id}}</id>
           <account-allocations>
               <account-allocation>
                   <id>{{alloc_id}}</id>
                   <account>
                       <code>{{alloc_acct_code}}</code>
                       <segment-1>{{alloc_seg1}}</segment-1>
                       <segment-2>{{alloc_seg2}}</segment-2>
                       <segment-3>{{alloc_seg3}}</segment-3>
                       <segment-4>{{alloc_seg4}}</segment-4>
                       <segment-5>{{alloc_seg5}}</segment-5>
                       <segment-6>{{alloc_seg6}}</segment-6>
                       <segment-7>{{alloc_seg7}}</segment-7>
                       <segment-8>{{alloc_seg8}}</segment-8>
                       <segment-9>{{alloc_seg9}}</segment-9>
                       <segment-10>{{alloc_seg10}}</segment-10>
                       <segment-11>{{alloc_seg11}}</segment-11>
                       <segment-12>{{alloc_seg12}}</segment-12>
                       <segment-13>{{alloc_seg13}}</segment-13>
                       <segment-14>{{alloc_seg14}}</segment-14>
                       <account-type>
                           <id>{{coa_id}}</id>
                       </account-type>
                   </account>
               </account-allocation>
           </account-allocations>
       </requisition-line>
   </requisition-lines>
</requisition-header>

Open the collection runner, select the collection just created, pass the csv report as input and execute the API script. Monitor for success and failures. For failed transactions review the response body for more details on the reason for failure.

Purchase Order Lines without allocations

Extract a report with the following fields

  • Order Id
  • Order Line Id
  • Account code
  • Segment 1 …. 20
  • Chart of Account Id

The column headers should exactly match the variable names used in the below API script. Create a collection in Postman (API client) with the following details.

Method PUT
Endpoint URL https://{{instance-url}}/api/requisitions/{{order_id}}
Request headers
  • Content-Type: application/xml
  • Accept: application/xml
  • X-coupa-api-key: {{api-key}}
Request Body Raw/XML
Payload
<order-header>
   <order-lines>
       <order-line>
           <id>{{order_line_id}}</id>
           <account>
               <code>{{account_code}}</code>
               <segment-1>{{seg1}}</segment-1>
               <segment-2>{{seg2}}</segment-2>
               <segment-3>{{seg3}}</segment-3>
               <segment-4>{{seg4}}</segment-4>
               <segment-5>{{seg5}}</segment-5>
               <segment-6>{{seg6}}</segment-6>
               <segment-7>{{seg7}}</segment-7>
               <segment-8>{{seg8}}</segment-8>
               <segment-9>{{seg9}}</segment-9>
               <segment-10>{{seg10}}</segment-10>
               <segment-11>{{seg11}}</segment-11>
               <segment-12>{{seg12}}</segment-12>
               <segment-13>{{seg13}}</segment-13>
               <segment-14>{{seg14}}</segment-14>
               <account-type>
                   <id>{{coa_id}}</id>
               </account-type>
           </account>
       </order-line>
   </order-lines>
</order-header>

Open the collection runner, select the collection just created, pass the csv report as input and execute the API script. Monitor for success and failures. For failed transactions review the response body for more details on the reason for failure.

Purchase Order Lines with allocations

Extract a report with the following fields

  • Order Id
  • Order Line Id
  • Allocation ID
  • Allocation Percentage
  • Allocation Account code
  • Allocation Segment 1 …. 20
  • Chart of Account Id

The column headers should exactly match the variable names used in the below API script.

Unlike other objects Purchase Order and Purchase Order change allocations cannot be updated in bulk for different no of allocations.

All allocations on the order need to be updated using one payload. Hence the data needs to be grouped based on the no of allocations. For eg. one script for PO lines having 2 allocations and another script for PO lines having 3 allocations and so on.

Create a collection in Postman (API client) with the following details.

Method PUT
Endpoint URL https://{{instance-url}}/api/requisitions/{{order_id}}
Request headers
  • Content-Type: application/xml
  • Accept: application/xml
  • X-coupa-api-key: {{api-key}}
Request Body Raw/XML
Payload
<order-header>
   <order-lines>
       <order-line>
           <id>{{order_line_id}}</id>
           <account-allocations>
               <account-allocation>
                   <id>{{alloc1_id}}</id>
                   <pct>{{alloc1_pct}}</pct>
                   <account>
                       <code>{{alloc1_acct_code}}</code>
                       <segment-1>{{alloc1_seg1}}</segment-1>
                       <segment-2>{{alloc1_seg2}}</segment-2>
                       <segment-3>{{alloc1_seg3}}</segment-3>
                       <segment-4>{{alloc1_seg4}}</segment-4>
                       <segment-5>{{alloc1_seg5}}</segment-5>
                       <segment-6>{{alloc1_seg6}}</segment-6>
                       <segment-7>{{alloc1_seg7}}</segment-7>
                       <segment-8>{{alloc1_seg8}}</segment-8>
                       <segment-9>{{alloc1_seg9}}</segment-9>
                       <segment-10>{{alloc1_seg10}}</segment-10>
                       <segment-11>{{alloc1_seg11}}</segment-11>
                       <segment-12>{{alloc1_seg12}}</segment-12>
                       <segment-13>{{alloc1_seg13}}</segment-13>
                       <segment-14>{{alloc1_seg14}}</segment-14>
                       <account-type>
                           <id>{{coa_id}}</id>
                       </account-type>
                   </account>
               </account-allocation>
               <account-allocation>
                   <id>{{alloc2_id}}</id>
                   <pct>{{alloc2_pct}}</pct>
                   <account>
                       <code>{{alloc2_acct_code}}</code>
                       <segment-1>{{alloc2_seg1}}</segment-1>
                       <segment-2>{{alloc2_seg2}}</segment-2>
                       <segment-3>{{alloc2_seg3}}</segment-3>
                       <segment-4>{{alloc2_seg4}}</segment-4>
                       <segment-5>{{alloc2_seg5}}</segment-5>
                       <segment-6>{{alloc2_seg6}}</segment-6>
                       <segment-7>{{alloc2_seg7}}</segment-7>
                       <segment-8>{{alloc2_seg8}}</segment-8>
                       <segment-9>{{alloc2_seg9}}</segment-9>
                       <segment-10>{{alloc2_seg10}}</segment-10>
                       <segment-11>{{alloc2_seg11}}</segment-11>
                       <segment-12>{{alloc2_seg12}}</segment-12>
                       <segment-13>{{alloc2_seg13}}</segment-13>
                       <segment-14>{{alloc2_seg14}}</segment-14>
                       <account-type>
                           <id>{{coa_id}}</id>
                       </account-type>
                   </account>
               </account-allocation>
           </account-allocations>
       </order-line>
   </order-lines>
</order-header>

Open the collection runner, select the collection just created, pass the csv report as input and execute the API script. Monitor for success and failures. For failed transactions review the response body for more details on the reason for failure.

Purchase Order Change Lines without allocations

Extract a report with the following fields

  • Order Change Id
  • Order Change Line Id
  • Current Approver Login
  • Account code
  • Segment 1 …. 20
  • Chart of Account Id

The column headers should exactly match the variable names used in the below API script. If the current approver is a group, pick any one of the group member's login.

Create a collection in Postman (API client) with the following details.

Method PUT
Endpoint URL https://{{instance-url}}/api/requisitions/{{order_change_id}}
Request headers
  • Content-Type: application/xml
  • Accept: application/xml
  • X-coupa-api-key: {{api-key}}
Request Body Raw/XML
Payload
<order-header-change>
   <approver>
       <login>{{approver_login}}</login>
   </approver>
   <order-line-changes>
       <order-line-change>
           <id>{{order_change_line_id}}</id>
           <account>
               <code>{{account_code}}</code>
               <segment-1>{{seg1}}</segment-1>
               <segment-2>{{seg2}}</segment-2>
               <segment-3>{{seg3}}</segment-3>
               <segment-4>{{seg4}}</segment-4>
               <segment-5>{{seg5}}</segment-5>
               <segment-6>{{seg6}}</segment-6>
               <segment-7>{{seg7}}</segment-7>
               <segment-8>{{seg8}}</segment-8>
               <segment-9>{{seg9}}</segment-9>
               <segment-10>{{seg10}}</segment-10>
               <segment-11>{{seg11}}</segment-11>
               <segment-12>{{seg12}}</segment-12>
               <segment-13>{{seg13}}</segment-13>
               <segment-14>{{seg14}}</segment-14>
               <account-type-id>{{coa_id}}</account-type-id>
           </account>
       </order-line-change>
   </order-line-changes>
</order-header-change>

Open the collection runner, select the collection just created, pass the csv report as input and execute the API script. Monitor for success and failures. For failed transactions review the response body for more details on the reason for failure.

Purchase Order Change Lines with allocations

Extract a report with the following fields

  • Order Change Id
  • Order Change Line Id
  • Current Approver Login
  • Allocation ID
  • Allocation Percentage
  • Allocation Account code
  • Allocation Segment 1 …. 20
  • Chart of Account Id

The column headers should exactly match the variable names used in the below API script. If the current approver is a group, pick any one of the group memeber’s login.

Unlike other objects Purchase Order and Purchase Order change allocations cannot be updated in bulk for different no of allocations.

All allocations on the order need to be updated using one payload. Hence the data needs to be grouped based on the no of allocations. For eg. one script for PO lines having 2 allocations and another script for PO lines having 3 allocations and so on.

Create a collection in Postman (API client) with the following details.

Method PUT
Endpoint URL https://{{instance-url}}/api/requisitions/{{order_change_id}}
Request headers
  • Content-Type: application/xml
  • Accept: application/xml
  • X-coupa-api-key: {{api-key}}
Request Body Raw/XML
Payload
<order-header-change>
   <approver>
       <login>{{approver_login}}</login>
   </approver>
   <order-line-changes>
       <order-line-change>
           <id>{{order_change_line_id}}</id>
           <account-allocations>
               <account-allocation>
                   <id>{{alloc1_id}}</id>
                   <pct>{{alloc1_pct}}</pct>
                   <account>
                       <code>{{alloc1_acct_code}}</code>
                       <segment-1>{{alloc1_seg1}}</segment-1>
                       <segment-2>{{alloc1_seg2}}</segment-2>
                       <segment-3>{{alloc1_seg3}}</segment-3>
                       <segment-4>{{alloc1_seg4}}</segment-4>
                       <segment-5>{{alloc1_seg5}}</segment-5>
                       <segment-6>{{alloc1_seg6}}</segment-6>
                       <segment-7>{{alloc1_seg7}}</segment-7>
                       <segment-8>{{alloc1_seg8}}</segment-8>
                       <segment-9>{{alloc1_seg9}}</segment-9>
                       <segment-10>{{alloc1_seg10}}</segment-10>
                       <segment-11>{{alloc1_seg11}}</segment-11>
                       <segment-12>{{alloc1_seg12}}</segment-12>
                       <segment-13>{{alloc1_seg13}}</segment-13>
                       <segment-14>{{alloc1_seg14}}</segment-14>
                       <account-type>
                           <id>{{coa_id}}</id>
                       </account-type>
                   </account>
               </account-allocation>
               <account-allocation>
                   <id>{{alloc2_id}}</id>
                   <pct>{{alloc2_pct}}</pct>
                   <account>
                       <code>{{alloc2_acct_code}}</code>
                       <segment-1>{{alloc2_seg1}}</segment-1>
                       <segment-2>{{alloc2_seg2}}</segment-2>
                       <segment-3>{{alloc2_seg3}}</segment-3>
                       <segment-4>{{alloc2_seg4}}</segment-4>
                       <segment-5>{{alloc2_seg5}}</segment-5>
                       <segment-6>{{alloc2_seg6}}</segment-6>
                       <segment-7>{{alloc2_seg7}}</segment-7>
                       <segment-8>{{alloc2_seg8}}</segment-8>
                       <segment-9>{{alloc2_seg9}}</segment-9>
                       <segment-10>{{alloc2_seg10}}</segment-10>
                       <segment-11>{{alloc2_seg11}}</segment-11>
                       <segment-12>{{alloc2_seg12}}</segment-12>
                       <segment-13>{{alloc2_seg13}}</segment-13>
                       <segment-14>{{alloc2_seg14}}</segment-14>
                       <account-type>
                           <id>{{coa_id}}</id>
                       </account-type>
                   </account>
               </account-allocation>
           </account-allocations>
       </order-line-change>
   </order-line-changes>
</order-header-change>

Open the collection runner, select the collection just created, pass the csv report as input and execute the API script. Monitor for success and failures. For failed transactions review the response body for more details on the reason for failure.

Expense Lines without allocations

Extract a report with the following fields

  • Expense Report Id
  • Expense Line Id
  • Account code
  • Chart of Account Id
  • Segment 1 …. 20

The column headers should exactly match the variable names used in the below API script. Create a collection in Postman (API client) with the following details.

Method PUT
Endpoint URL https://{{instance-url}}/api/requisitions/{{exp_rep_id}}
Request headers
  • Content-Type: application/xml
  • Accept: application/xml
  • X-coupa-api-key: {{api-key}}
Request Body Raw/XML
Payload
<expense-report>
   <expense-lines>
       <expense-line>
           <id>{{exp_line_id}}</id>
           <account>
               <code>{{account_code}}</code>
               <segment-1>{{seg1}}</segment-1>
               <segment-2>{{seg2}}</segment-2>
               <segment-3>{{seg3}}</segment-3>
               <segment-4>{{seg4}}</segment-4>
               <segment-5>{{seg5}}</segment-5>
               <segment-6>{{seg6}}</segment-6>
               <segment-7>{{seg7}}</segment-7>
               <segment-8>{{seg8}}</segment-8>
               <segment-9>{{seg9}}</segment-9>
               <segment-10>{{seg10}}</segment-10>
               <segment-11>{{seg11}}</segment-11>
               <segment-12>{{seg12}}</segment-12>
               <segment-13>{{seg13}}</segment-13>
               <segment-14>{{seg14}}</segment-14>
               <account-type>
                   <id>{{coa_id}}</id>
               </account-type>
           </account>
       </expense-line>
   </expense-lines>
</expense-report>

Open the collection runner, select the collection just created, pass the csv report as input and execute the API script. Monitor for success and failures. For failed transactions review the response body for more details on the reason for failure.

Expense Lines with allocations

Extract a report with the following fields

  • Expense Report Id
  • Expense Line Id
  • Allocation ID
  • Allocation Account code
  • Allocation Segment 1 …. 20
  • Chart of Account Id

The column headers should exactly match the variable names used in the below API script. Create a collection in Postman (API client) with the following details.

Method PUT
Endpoint URL https://{{instance-url}}/api/requisitions/{{exp_rep_id}}
Request headers
  • Content-Type: application/xml
  • Accept: application/xml
  • X-coupa-api-key: {{api-key}}
Request Body Raw/XML
Payload
<expense-report>
   <expense-lines>
       <expense-line>
           <id>{{exp_line_id}}</id>
           <account-allocations>
               <account-allocation>
                   <id>{{alloc_id}}</id>
                   <account>
                       <code>{{alloc_code}}</code>
                       <segment-1>{{alloc_seg1}}</segment-1>
                       <segment-2>{{alloc_seg2}}</segment-2>
                       <segment-3>{{alloc_seg3}}</segment-3>
                       <segment-4>{{alloc_seg4}}</segment-4>
                       <segment-5>{{alloc_seg5}}</segment-5>
                       <segment-6>{{alloc_seg6}}</segment-6>
                       <segment-7>{{alloc_seg7}}</segment-7>
                       <segment-8>{{alloc_seg8}}</segment-8>
                       <segment-9>{{alloc_seg9}}</segment-9>
                       <segment-10>{{alloc_seg10}}</segment-10>
                       <segment-11>{{alloc_seg11}}</segment-11>
                       <segment-12>{{alloc_seg12}}</segment-12>
                       <segment-13>{{alloc_seg13}}</segment-13>
                       <segment-14>{{alloc_seg14}}</segment-14>
                       <account-type>
                           <id>{{coa_id}}</id>
                       </account-type>
                   </account>
               </account-allocation>
           </account-allocations>
       </expense-line>
   </expense-lines>
</expense-report>

Open the collection runner, select the collection just created, pass the csv report as input and execute the API script. Monitor for success and failures. For failed transactions review the response body for more details on the reason for failure.

Invoice Lines without allocations

Extract a report with the following fields

  • Invoice Id
  • Invoice Line Id
  • Account code
  • Chart of Account Id
  • Segment 1 …. 20

The column headers should exactly match the variable names used in the below API script. Create a collection in Postman (API client) with the following details.

Method PUT
Endpoint URL https://{{instance-url}}/api/requisitions/{{inv_id}}
Request headers
  • Content-Type: application/xml
  • Accept: application/xml
  • X-coupa-api-key: {{api-key}}
Request Body Raw/XML
Payload
<invoice-header>
   <invoice-lines>
       <invoice-line>
           <id>{{invoice_line_id}}</id>
           <account>
               <code>{{account_code}}</code>
               <segment-1>{{seg1}}</segment-1>
               <segment-2>{{seg2}}</segment-2>
               <segment-3>{{seg3}}</segment-3>
               <segment-4>{{seg4}}</segment-4>
               <segment-5>{{seg5}}</segment-5>
               <segment-6>{{seg6}}</segment-6>
               <segment-7>{{seg7}}</segment-7>
               <segment-8>{{seg8}}</segment-8>
               <segment-9>{{seg9}}</segment-9>
               <segment-10>{{seg10}}</segment-10>
               <segment-11>{{seg11}}</segment-11>
               <segment-12>{{seg12}}</segment-12>
               <segment-13>{{seg13}}</segment-13>
               <segment-14>{{seg14}}</segment-14>
               <account-type>
                   <id>{{coa_id}}</id>
               </account-type>
           </account>
       </invoice-line>
   </invoice-lines>
</invoice-header>

Open the collection runner, select the collection just created, pass the csv report as input and execute the API script. Monitor for success and failures. For failed transactions review the response body for more details on the reason for failure.

Invoice Lines with allocations

Extract a report with the following fields

  • Invoice Id
  • Invoice Line Id
  • Allocation ID
  • Allocation Account code
  • Allocation Segment 1 …. 20
  • Chart of Account Id

The column headers should exactly match the variable names used in the below API script. Create a collection in Postman (API client) with the following details.

Method PUT
Endpoint URL https://{{instance-url}}/api/requisitions/{{inv_id}}
Request headers
  • Content-Type: application/xml
  • Accept: application/xml
  • X-coupa-api-key: {{api-key}}
Request Body Raw/XML
Payload
<invoice-header>
   <invoice-lines>
       <invoice-line>
           <id>{{invoice_line_id}}</id>
           <account-allocations>
               <account-allocation>
                   <id>{{alloc_id}}</id>
                   <account>
                       <code>{{alloc_acct_code}}</code>
                       <segment-1>{{alloc_seg1}}</segment-1>
                       <segment-2>{{alloc_seg2}}</segment-2>
                       <segment-3>{{alloc_seg3}}</segment-3>
                       <segment-4>{{alloc_seg4}}</segment-4>
                       <segment-5>{{alloc_seg5}}</segment-5>
                       <segment-6>{{alloc_seg6}}</segment-6>
                       <segment-7>{{alloc_seg7}}</segment-7>
                       <segment-8>{{alloc_seg8}}</segment-8>
                       <segment-9>{{alloc_seg9}}</segment-9>
                       <segment-10>{{alloc_seg10}}</segment-10>
                       <segment-11>{{alloc_seg11}}</segment-11>
                       <segment-12>{{alloc_seg12}}</segment-12>
                       <segment-13>{{alloc_seg13}}</segment-13>
                       <segment-14>{{alloc_seg14}}</segment-14>
                       <account-type>
                           <id>{{coa_id}}</id>
                       </account-type>
                   </account>
               </account-allocation>
           </account-allocations>
       </invoice-line>
   </invoice-lines>
</invoice-header>

Open the collection runner, select the collection just created, pass the csv report as input and execute the API script. Monitor for success and failures. For failed transactions review the response body for more details on the reason for failure.

Risks

The old accounting combination will be still valid in the system and will not be deactivated or updated automatically. The new combination used will be created as a new active account code in the system.

If the new segments are mandatory, then the update would fail for multi line transactions.

Invoice approvals will not be regenerated as per the new account code automatically. Restart approvals will be required.

Test scenarios

Requisitions

Object Scenario Object Status API Account Update Allowed?
Requisition Requisition with single/multiple line > single account Draft Yes/ No ?
Requisition Requisition with single/multiple line > Split Accounts Draft  
Requisition Requisition with single/multiple line > single account Pending Buyer Action  
Requisition Requisition with single/multiple line > Split Accounts Pending Buyer Action  
Requisition Requisition with single/multiple line > single account Pending Approval  
Requisition Requisition with single/multiple line > Split Accounts Pending Approval  
Requisition Requisition with single/multiple line > single account Ordered  
Requisition Requisition with single/multiple line > Split Accounts Ordered  

Purchase Orders 

Object Scenario Object Status API Account Update Allowed?
Purchase Order PO with single/multiple line > single account Issued - Not received/ nor invoiced  
Purchase Order PO with single/multiple line > Split Accounts Issued - Not received/ nor invoiced  
Purchase Order PO with single/multiple line > single account Issued - Fully Received/ Partially Invoiced  
Purchase Order PO with single/multiple line > Split Accounts Issued - Fully Received/ Partially Invoiced  
Purchase Order PO with single/multiple line > single account Issued - Fully Received/ Fully Invoiced  
Purchase Order PO with single/multiple line > Split Accounts Issued - Fully Received/ Fully Invoiced  
Purchase Order PO with single/multiple line > single account Issued - Partially Received/ Partially Invoiced  
Purchase Order PO with single/multiple line > Split Accounts Issued - Partially Received/ Partially Invoiced  
Purchase Order PO with single/multiple line > single account Cancelled  
Purchase Order PO with single/multiple line > Split Accounts Cancelled  
Purchase Order PO with single/multiple line > single account Soft Closed  
Purchase Order PO with single/multiple line > Split Accounts Soft Closed  
Purchase Order PO with single/multiple line > single account Closed  
Purchase Order PO with single/multiple line > Split Accounts Closed  
Purchase Order PO with single/multiple line > single account Pending Approval  
Purchase Order PO with single/multiple line > Split Accounts Pending Approval  

Invoices 

Object Scenario Object Status API Account Update Allowed?
Invoice Invoice with single/multiple line > single account Draft  
Invoice Invoice with single/multiple line > Split Accounts Draft  
Invoice Invoice with single/multiple line > single account Pending Buyer Action  
Invoice Invoice with single/multiple line > Split Accounts Pending Buyer Action  
Invoice Invoice with single/multiple line > single account Pending Approval  
Invoice Invoice with single/multiple line > Split Accounts Pending Approval  
Invoice Invoice with single/multiple line > single account Pending Receipt  
Invoice Invoice with single/multiple line > Split Accounts Pending Receipt  
Invoice Invoice with single/multiple line > single account Ordered  
Invoice Invoice with single/multiple line > Split Accounts Ordered  
  • Was this article helpful?