Customers

Every customer you generate on the Archetype platform will have a unique custom_uid and a unique uid. For the purposes of retrieving a customer, their details or managing their subscription status, the custom_uid will be the source of truth.

Customers can be generated in many ways and Archetype has a ton of support for customer onboarding and subscription management via sales-led and self-serve approaches. This is a perfect use case for companies looking to upsell from self-serve -> to sales-led or companies looking to sell downmarket and expand their clientele via sales-led to self-serve models.

πŸ“˜

Recommended: Include Customer Emails

It is generally recommended to add the customer's email when creating and updating the customer so all alerts, invoices and receipts are delivered accurately.

Each customer will several fields as listed below and a Quota object. The Quota object will contain all the details of the customer's usage in the current billing cycle by billable metric, their pending expected charge and any quotas or limits that are pending.

  • Stripe ID: The Stripe Customer ID of your user.
  • Custom UID: The unique identifier for the customer you've created.
  • Name: The customer's name. Can be any string as it can be a single user or a business.
  • Email: The email to send billing details for the customer.
  • Description: The details about the customer.
  • status: The subscription status. Will be unchangeable by vendors.
  • product_id: The current product the customer is subscribed to.
  • product_version_number: The current version number of the product that the customer is subscribed to.
  • lifetime_revenue: How much revenue you have generated from the customer.
  • first_seen: When this customer was first created.
  • last_seen: When the customer was last active (relevant for usage-based subscriptions)
  • subscription_date: The latest subscription date of the customer. Triggered on signup.
  • is_trial: Whether the customer is currently trialing a product.
  • trial_end: When the customer's trial is going to end. Null if not trialing.
  • sandbox_end: When the customer's sandbox subscription is going to end. Null if not in sandbox.
  • renewal_number: How many billing cyles the customer has gone through on the current subscription.
  • live_mode: Whether this is a live or a test mode customer.

If you're using the Python SDK, you will be able to reuse the instantiated archetype object that you created when starting up your app.

Add subscription

❗️

Considerations

The UID you set for your users needs to be URL parsable so no spaces or special characters.

Examples of bad UIDs

  • asdfj45 345345345 %%%
  • %%%%
  • !!#123. 45

Once you've created a customer and a Product you can now Create a Subscription. Creating a subscription can be done via a sandbox, a payment link or a generating a checkout session. Read the docs for more details on how that works.