Episode 540: Easy Billing Operation by Connecting with PayPal Invoice (1)

Sunday, June 18, 2017

Invoice directly connected to settlement

"PayPal Invoice" is an electronic invoice in the format of "Email".

From the viewpoint of the person who received the mail, it is very simple since you can click on the "View and Pay Invoice" button and immediately complete the settlement processing (card payment / PayPal account settlement). Of course, even when "in-house transfer to accounting personnel" is required, it is very easy to do, just a transfer operation on email client.

Also, viewing from person who issued the invoice, it is very easy since its procedures are only
  1. Login to PayPal and enter billing data
  2. (receive Settlement completion notification)
comparing to conventional "Business Process of invoicing in paper" took
  1. Create Excel data of invoice
  2. Printout the invoice
  3. Mail the invoice
  4. Confirm remittance in specified bank account

Moreover, we do not receive credit card information, so there is no "information leakage risk".

In recent years, it has also gained much attention on the aspects of "productivity improvement" and "teleworking environment improvement". (PayPal Invoice)

[Example of received email]

API connection to Workflow

"PayPal invoice" does not require introduction of particular system.

However, this ease of "you can send an invoice by logging in to PayPal" also brings new challenges such as "ambiguous approval by supervisor" and "difficult to make mistake checks by multiple people". Especially if a company emphasizes "Business Process", there is a possibility of being discussed as a problem on governance.

In the following Business Process definition example, we have realized the policy that

"to utilize PayPal invoice without logging in to PayPal"

by implementing API control from the Workflow system. That is, the data which have been approved and checked in the workflow system is automatically linked to PayPal side through the API, and the "command to send the invoice email" is also delivered from the Workflow system via the API. And all work records of "When and who did what" are all recorded on the Workflow system side.

* If it is a Cloud-based workflow "Questetra BPM Suite", it can be realized for free. (By importing the Business Process definition, you can build it in a few hours.)

[PayPal Invoice Issuance]

Concrete method of operation

(Although you can understand roughly if you look at the Business Process diagram...)

First, "person in charge of delivery" registers "billing email address", "unit price / quantity of the delivery", etc. (The first Step "Billing data registration")

After that, at the second Step "Approval on billing data", a mistake of input is checked by "accounting personnel".

After that, the Issue transitions to the unattended Step "PayPal Create". There, "PayPal Invoice" is automatically generated through secure communication (OAuth 2) with PayPal. (It is saved as draft state on PayPal side.) Then, after staying till "Email transmission time" in the Timer Event, the Issue will transition to the unattended Step, "PayPal Send". There, the Workflow system commands "Send invoice email".


In this business process definition, neither "delivery personnel" nor "accounting personnel" need to operate Excel or PDF. The only necessary software is the web browser, and you can do all the processing on your smartphone or tablet terminals.

As for the "remarks" and "contract condition statement" etc., the template sentence is set as the initial value, so there are not many occasions to enter these information in usual invoice registration.

<Input items of Billing data>
  • Billing organization name (String type single line)
  • Billing department name (String type single line)
  • Billing contact name (String type single line)
  • Billing contact email address (String type single line)
  • Product name of delivering item (String type single line)
  • Detailed description of delivering item (String type single line)
  • Quantity of delivering item (Numeric type)
  • Unit price of delivering items (Numeric type)
  • Invoice ID (String type single line)
  • Payment due date (Date type)
  • Remarks (String type multiple lines)
  • Contract conditional statement (String type multiple lines)

[PayPal Invoice Issuance:"1. Billing data registration" screen]

Concrete setting

"PayPal Create" and "PayPal Send" in this example, are unmanned Steps (Service Step).

The administrative (Process owner) will make basic settings. The set contents will be applied to all invoices.

<Basic setting of Invoice>
  • Secret key for Seller PayPal account (see endnote)
  • Seller organization name
  • Seller's address
  • Seller's phone number and email address
  • Applicable tax rate
  • URI of the logo image to be posted on the invoice

Therefore, in cases if "invoice with 0% tax" and "invoice with 8% tax" are mixed, you will be required some devising in modeling such as, the business flow to be branched in the midway, so that each Issue flows appropriately to "PayPal Create Step set as 0% tax" and "PayPal Create Step set as 8% tax".

Note that If you want to model the entire Business Process from scratch, it is necessary to add the relevant service Step (add-on) beforehand.

Next time, I will consider a sample which approaches more closely to practical business such as "automatic checking of settlement situation".

<Config screen: Paypal Create>

<Config screen: Paypal Send>

* Secret key
The technology "PayPal Invoicing API" utilizing here uses secret credentials (clientId and secret). Expertly speaking, technology referred as "OAuth 2 Token via client credentials grant" is used. You need to get the credentials from "PayPal Administrator Dashboard" in advance.

(Incidentally, the Invoicing API of "REST API version" released in 2014 is used. It is not an Invoicing API of "NVP / SOAP API version" released in 2011. Be cautious when referring to manual documents.)


[Data Items list]



[Free Download]
<Similar Models>
<<Related Articles>>

[Japanese Entry (ε’Œζ–‡θ¨˜δΊ‹)]