SAP Business One Approval Process and API Implications

In SAP Business One, the creation of a purchase request or any transactional document (i.e sales order, purchase order, goods receipt purchase order, purchase quotation, sales quotation, inventory balance, etc) is dependent on how Approval Templates have been set up in the application itself. 

If you are using any of these resources, but have approval process set up in your application the doc created as a part of POST/object—where object can be a sales order, purchase order, goods receipt purchase order, purchase quotation, sales quotation, etc—it will flow into SAP Business One as Drafts and, until it is approved, will not have DocNum/DocEntry pertaining to the main object.

An example: you are are making a POST /orders call from Cloud Elements and you receive a 200 OK response with a DocEntry. Hence, if a user does a GETById or PATCH or DELETE based on the DocEntry returned, it would return a 404 not found error.

Let's assume you have Approval enabled for sales order; that order will flow to the draft sales orders table, where the user has to manually go and approve (user is the approver in SAP Business One for sales orders). Finally, that record flows into the Sales Order table. 

This is a manual task that the approver/user must perform, and if a user does a GETById with the new DocEntry after it has been approved, the record can be fetched with a successful 200 OK response.