The base of a subscription

Customers are of course your most valuable asset. In Upodi, Customers have a profile which contains information on the customer and associated payment methods, i.e. a credit card.

A customer holds information such as contact details, addresses and currency. This information is used when billing customers for their subscriptions, and will be included on the final invoice of a billing cycle.

Using the API

curl -X POST
-H 'Content-type: application/json'
-H "Authorization: Bearer Zjc0YjNjMTMtNWIwNi00MGMxLTljMjctMzhiM2EzZmE5NGRk;" 
-d '{ ' \
-d ' "accountnumber" : "CU-000120", ' \
-d ' "currencycode" : "EUR", ' \
-d ' "autobill" : true, ' \
-d ' "fullname" : "Sample Customer" ' \
-d '}'
UpodiService upodi = new UpodiService("aab31984-0256-4d10-afe2-c6a4f35bcf40");
var customerId = upodi.Customers.Create("CU-0020", "Customer Account", "EUR");

Preferrence currency

A customer will have a preferred currency or the default currency. This states in which currency the customer will be billed. Upon a billing cycle Upodi will try to fulfill this preferrence by matching the customer currency with currencies that you have made available in the product plan. Should a match exist, the subscription and following invoices, will be in the matching currency. If no match is found, the product plan default currency is used.


Currency calculations

Upodi does not calculate pricing on currencies. We merely pass on the currency between states of subscriptions and match these with the proper payment.

Customer hierarchies

Customers may be creaed in hierarchies one level down. Example:

  • Customer
    • Child 1
    • Child 2

A customer may have a parent customer, to construct set hierarchy. This enables options to build trees of customer relationships.

Bill To Parent

When a customer has a parent customer, it can also be set to bill to its parent. This practically means any invoices generated from subscriptions, will instead be billed directly to the parent customer. The resulting invoice will set the child to the customer and the customer details to the parent.

This means it will pay using the parent's payment method, send the invoice to the parent's email and export it to the ERP invoiced to the parent customer. The information from both the parent customer and the child customer can be used in the Customer e-mails.

However, if you create a manual invoice via the API or via the web, the invoice would be assigned to the customer you represent. If you want to simulate a parent billing, you can assign the child of the invoice via API or web, whilst the customer of invoice, require to be the parent. Please visit states of billing for more information.

Auto Billing

A customer is by default set to auto billing. Auto billing means the invoices generated from subscriptions will automatically go through the booking flow. The booking flow can include payment, dunning, emailing the invoice and finally exporting the invoice to an ERP. Click it off if you want to inspect the invoices for your customer prior to manually booking the invoice. This allows you to edit the invoice content in case this customer needs some special attention.


Did you know?

Clicking the 'share' symbol on the customer let's you create a direct link that will link to the customer even when you have several Upodi tenants?


We're always happy to help with code or other questions you might have! Search our documentation or contact helpdesk. You can also chat live with us using the Intercom icon.

What’s Next

Go to Subscriptions or delve into the Customer Objects and Endpoints.