SquareOS Docs
Memberships and Payments

Point of Sale and Checkout

POS is the only normal place to sell memberships, add-ons, PT packs, charges, retail items, and collect payment.

What this page is for

POS is the only normal place to sell memberships, add-ons, PT packs, charges, retail items, and collect payment.

Who should use it

Front desk, finance, owner, manager

Where to find it

/pos/pos-addon-charges

Before you start

  • POS Commerce flow completion gate: finish POS documentation by proving customer selection, cart rules, plan/add-on/payment/invoice flow, provider readiness, sale-time terms, proration, GST, invoice PDF, payment-link handoff, terminal collection, retail sale, internal credit, and session-pack entitlement behavior are explained from current staff-app and API source.
  • POS flow steps are Customer, Plan, Add-ons, Payment, and Invoice.
  • Universal checkout requires a gym and at least one cart item before creating checkout records.
  • Retail SKU checkout can proceed without a linked person, but memberships, add-ons, and charges require a linked member or prospect.
  • Only one membership plan can be sold in a single universal POS checkout.
  • Checkout collection modes are Offline payment, Pay here, Razorpay link, POS terminal, Internal credit, and Invoice only.
  • Person-linked POS route /pos/pos-addon-charges/:personId opens focused POS with that person preselected when the person exists.
  • POS personId query fallback supports /pos/pos-addon-charges?personId=... with the same preselection behavior.
  • Focused POS route does not auto-add plans, add-ons, charges, or retail items; staff still chooses cart items and payment terms.
  • If no POS person is provided or found, focused POS starts with an empty customer selection instead of choosing the first member automatically.
  • Commerce route tabs are Overview, Checkout / POS, Payment Operations, Transactions, Subscriptions, and Finance Ops. Use the tab that matches the job instead of jumping between unrelated pages.
  • POS catalog tabs are Plans, Add-ons, and Retail. Plan cards sell memberships or session packs, add-on cards attach extras, and retail cards support walk-in product sales.
  • The purchase page header shows checkout amount, item count, and selected customer or walk-in retail sale. Back to cart returns without submitting payment.
  • Sale header fields are Start Date, Billing Cycle, Billing Date, Sales representative, Referred by, and Coupon.
  • Billing Cycle is fixed to Signup date on the purchase page; the POS bill drawer also exposes fixed-cycle choices for eligible non-one-time plans: Sign-up date, 1st of month, 5th of month, and 15th of month.
  • Coupon impact appears only after a coupon is selected and shows the benefit applied to this cart.
  • Each plan line exposes Payment arrangement, EMI months when EMI is allowed, Recurring toggle, and Repeat count. Repeat can be Never ending or a finite count.
  • Each add-on line exposes Recurring add-on and Repeat count when the add-on is recurring.
  • Cart line actions are amount tooltip and remove item. Clear All empties the cart before payment.
  • Billing preview shows due-now amount and up to the next future billing events returned by the backend.
  • Payment collection cards explain the available mode and show disabled tooltips when Razorpay, terminal, offline method, internal credit, or invoice-only rules are not satisfied.
  • Offline payment method appears only for Offline payment or Internal credit. Offline payment reference should contain cash drawer note, UPI reference, bank transfer id, cheque number, external card reference, or credit approval note.
  • Pay here with Razorpay opens an immediate checkout intent for the selected invoice or checkout amount.
  • Create payment link creates a hosted Razorpay link and leaves the invoice pending until payment succeeds through webhook or verified status.
  • Charge on Terminal/POS creates a terminal collection handoff and may remain pending until provider confirmation or manual terminal status reconciliation.
  • Invoice only creates the finance record without recording collection. Use it when the member will pay later.
  • Drawer checkout fields include start date, billing cycle, payment arrangement, installments, proration mode, proration amount, retail quantity, add-ons, coupon, bill date, sales rep, session owner for one-time session products, keyfob type, physical keyfob number, referred by, and signup completion owner.
  • Keyfob type can be Digital or Physical. Enter Physical keyfob number only when a real card/fob is issued at sale time.
  • Signup completion owner controls who finishes missing signup information: Client or Staff.
  • Offline payment stays disabled until an active offline manual payment method exists, such as Cash, manual UPI / QR, or Bank Transfer.
  • Pay here stays disabled until an active Razorpay gateway account supports checkout and is verified or running in test mode.
  • Razorpay link stays disabled until an active Razorpay gateway account supports payment links and is verified or running in test mode.
  • POS terminal stays disabled until an active payment terminal device has an external device ID.
  • Direct checkout cannot mark online gateway or terminal payments collected; those use hosted checkout, payment-link, or terminal handoff flows.
  • Payment arrangement is chosen at sale time and can be Paid in full, Recurring monthly contract, or EMI/installments.
  • EMI installment count splits the invoice schedule into multiple balances.
  • Billing cycle mode and billing cycle day apply to recurring or EMI schedules, and billing day is capped at 31.
  • Proration can replace the first-cycle plan fee while the recurring full price remains unchanged.
  • Joining fee is a separate checkout line and uses the plan tax group.
  • Add-ons, service lines, product lines, and deposits become separate invoice lines with tax or metadata.
  • Tax/GST uses active tax lines by effective date and supports inclusive and exclusive pricing.
  • Payment link handoff exposes Copy when a URL exists and Send when a payment-link id exists.
  • Invoice PDF download uses the finance invoice PDF endpoint and saves a sanitized invoice filename.
  • Sending an invoice or payment link requires a linked person and recipient email or phone.
  • PT or session-pack add-on settings create usable session-pack entitlement drafts after checkout.
  • Internal credit checkout requires a linked person because wallet or credit must attach to a profile.
  • Terminal collection can create a pending handoff without provider reference or mark success when a real provider reference is entered.
  • Checkout flow is customer, plan, add-ons/charges/retail, payment arrangement, coupon, invoice, payment.
  • Plan duration is a product rule; payment arrangement is chosen at sale time.
  • Joining fee is a separate charge. Do not hide it inside base price.
  • PT packs must create usable session balance. PT booking/cancellation should adjust balance through backend rules.
  • Razorpay actions are disabled until a configured gateway supports checkout or payment links.
  • Terminal/POS action is disabled until a terminal provider/device is configured.
  • The Payment Processing tab uses the same readiness checks for standalone hosted checkout intents and terminal collection forms.
  • Offline methods include cash, manual UPI/QR, bank transfer, internal credit, and other configured manual modes.
  • Collected amount cannot exceed checkout total or invoice balance. Record extra advance money through the approved credit/advance workflow, not by over-collecting an invoice.

Daily workflow

  • Search and select the customer.
  • Select membership plan and any add-ons such as locker or PT sessions.
  • Choose payment arrangement: paid in full, recurring/monthly contract, or EMI/installments.
  • Choose billing cycle and proration only when membership starts mid-cycle or the gym bills on a fixed day.
  • Review GST, coupon, joining fee, total due, and invoice before collecting.
  • Collect through Razorpay, payment link, terminal, or offline record depending on configured provider and customer choice.
  • If Hosted gateway checkout or Terminal collection is disabled, read the shown readiness reason and configure the missing Razorpay account or terminal device before retrying.
  • For one-time PT/session products, assign the session owner before checkout so trainer/service accountability is clear.
  • For physical access-card gyms, choose Physical keyfob and enter the number before payment so access setup and member handoff match.

Watch out

  • Never record an offline payment unless staff has the actual cash, UPI reference, bank transfer proof, or approved credit note.
  • Do not manually calculate GST or proration outside checkout. Use backend-calculated preview and invoice.
  • Do not enter more than the displayed checkout total or invoice balance as collected amount.
  • Do not create payment links, hosted checkout intents, or terminal collections for invoices that already have zero balance.
  • Use the left menu to open related pages in Memberships and Payments.
  • Use Ask Docs for questions that are already covered in this public documentation.

On this page