Skip to content

Your First Sale

Updated

This walkthrough takes you through the entire lifecycle once: create a product, place an order as a customer, pay it, and watch PNLCS provision the hosting account automatically. Do this once and the whole system will make sense.

Prerequisites

  • Email is configured (guide)
  • One payment gateway is enabled (guide)
  • A server module is connected, if you want real provisioning (guide)

Step 1 — Create a product group

Setup → Products/Services → New Group

A group is just a category customers browse, e.g. Shared Hosting. Give it a name and save. Edit on the group's row renames it or hides it from the store; Delete shows on a group with no products in it.

Step 2 — Create a product

Setup → Products/Services → New Product

Any product is made here, hosting or not: a support plan or a monitoring service is a product with Type → Other and no server module, priced on the billing cycles you sell it on. Add Invoice Item is something else: a ready-made line for invoices you create by hand.

  • Product Name: e.g. "Starter Hosting"
  • Product Group: the group you just made
  • Server Module: the kind of server this plan provisions on (Panelica, cPanel, Plesk…), or none if you will set accounts up by hand. A product picks a module, not a single server.
  • Server Group (optional): limit it to the servers in one group; left on Any server of that type, PNLCS uses any server with that module.
  • Plan on the server: the package the account is created with.
  • Auto Setup: choose when the account is created —
    • As soon as the first payment is received (most common)
    • As soon as the order is placed, before payment
    • Only when an admin accepts the order
  • Pricing: a price per currency and billing cycle. -1 disables a cycle.

Press Create Product. PNLCS opens the product's edit page, where the rest of its settings live, for example Free domain with this product: the first year of a domain registered or transferred with it is free, and it renews at the normal price. The product now appears in the customer shop.

What is 'auto-setup'?

It decides when the hosting account is actually created on your server. Most hosts provision on the first payment so nobody gets a live account without paying. See The Billing Lifecycle.

Step 3 — Place a test order as a customer

Open an incognito/private browser window so you're not logged in as admin.

  1. Go to https://example.com/client/register and create a test customer.
  2. Browse the shop, pick your product, choose a billing cycle.
  3. Enter a domain name for the account and continue to checkout. If the customer registers or transfers that domain, it is its own line in the cart, next to the hosting.
  4. An order and an unpaid invoice are created.

Step 4 — Pay the invoice

Pay using your gateway's test mode (e.g. Stripe test card 4242 4242 4242 4242, any future expiry, any CVC).

The moment the payment is confirmed, PNLCS:

  1. Marks the invoice paid
  2. Accepts the order
  3. Provisions the account on your server (if auto-setup is on payment)
  4. Sends the customer a welcome email with their login details

Step 5 — Verify everything worked

Back in the admin panel:

  • Billing → Invoices: the invoice is Paid
  • Clients → View/Search Clients → your test client → Services: the service is Active
  • Orders → List All Orders: the order is Active
  • If a server module is connected, the account exists on that server

Congratulations — that's a full sale, start to finish. Everything else in PNLCS is a variation on this loop.

Understand what just happened

  • A product is what you sell.
  • An order is a customer's request to buy it.
  • An invoice is the bill for that order.
  • A service is the live thing the customer now owns (the hosting account), which renews and bills on its own cycle.

Read Products, Services, Orders & Invoices for the full picture.

What's next