Home Setup & Configuration

Setup & Configuration

Managing Branches (Info, Address, Payment Gateway, Time Zone) Setting Up Products, Packages, Classes & Groups Studio Settings & Instant Sales Configuration Data Import & Batch Conversion Tools
Roodolph Senecal
By Roodolph Senecal
14 articles

Account Types

Account Types Account Types are high-level bookkeeping categories you use to organize transactions for reporting (e.g., income statements and expense tracking). Think of them as the “buckets” your detailed categories roll up into, so your financial reports stay tidy and meaningful. Common examples - Assets: Cash, Accounts Receivable, Equipment - Liabilities: Accounts Payable, Loans Payable - Operating Revenues: Sales, Service Fees - Operating Expenses: Salaries, Rent, Depreciation Tip: After you define Account Types, you can link your product or staff categories to an “Account” record to keep everything grouped for reporting. Create a new Account Type 1. Go to Settings → Account Types 2. Click + New 3. Enter a clear Name (e.g., “Operating Expenses”) 4. Click Save Naming best practices - Use plain, universal terms (e.g., Sales, Salaries Expense) - Keep to a consistent tense and plurality (e.g., “Expenses” vs “Expense”) - Avoid duplicate or overlapping meanings How Account Types fit with Accounts & Categories - Account Types = top-level financial groupings (e.g., Operating Expenses) - Accounts (organizing records) = containers that link related categories together (e.g., an “Beverages” account that ties several product categories) - Categories = the specific labels you apply to items (e.g., Product Category “Water”) that ultimately roll up to an Account and then to its Account Type for reporting. Frequently asked questions Do I need to set these up before selling? You can start selling without them, but setting them early keeps reports clean. Can I edit or delete an Account Type later? Yes—adjust as your reporting needs evolve (ensure historical data still makes sense after changes). What’s the difference between Account Types and Accounts? Account Types are the financial reporting layer; Accounts are organizational records you can assign to multiple categories for roll-ups.

Last updated on Aug 12, 2025

Auto-Pay Workflow

What is it? Auto-Pay Cards let you sell memberships or session cards that bill on a recurring schedule. Your studio can see all active Auto-Pay accounts in one list and manage transactions from a customizable view (filter by active, failed, or completed). Create an Auto-Pay card 1. Go to Assets → Products and click + New. 2. Create the product as usual (name, price, etc.). 3. Toggle Auto Pay: ON. 4. Set Ends After if you want billing to stop automatically after a set number of months. 5. Save. Selling an Auto-Pay product works like selling any other package, with an optional pro-rate flow that adjusts the first charge and sets the autopay start date. Sell (with optional pro-rating) During checkout, Karmasoft can pro-rate the amount and set the autopay date you choose. Confirm the pro-rate to apply it, or cancel to charge the full amount and start on the regular billing date. Manage Auto-Pay accounts - Dashboard cue: During class sign-in, a credit-card icon appears next to Auto-Pay packages—click it to open the quick update screen. - Full list view: Go to Assets → Auto-Pay Cards to see every current/active Auto-Pay account. Use filters to view Failed or Completed transactions. Common actions - Update credit card on file From Assets → Auto-Pay Cards, click Update on the student’s row and enter the new card details. You can also reach this screen via the credit-card icon on class sign-in. - Change the billing amount Edit the Amount Due; the next scheduled charge will use the new value. - Cancel Auto-Pay Click Cancel to stop all future scheduled transactions. This cannot be undone. - Pause billing by suspending the plan Suspending a student’s plan also suspends Auto-Pay charges until reactivated. Helpful settings - Charge Cooldown (retries for failed charges): Set the number of days between automatic retry attempts for failed Auto-Pay session cards in Settings → Studio Settings. - Order-Based Auto-Pay: Option to charge the original order amount on all subsequent Auto-Pay runs (helpful for discounted first month promos). Enable in Studio Settings. Tips & best practices - Use Email Templates to send purchase confirmations or agreements automatically when an Auto-Pay is sold. - Train front desk staff to look for the Auto-Pay icon during sign-in for quick updates and failed-charge follow-ups. - Review Auto-Pay Cards regularly and filter to Failed to resolve issues quickly.

Last updated on Aug 15, 2025

Create a Class Type

Class Types are templates that define the defaults for your classes—name, length, level, capacity, booking rules, and more. Once you set them up, you (or instructors with permission) can reuse them whenever you add classes to the schedule, keeping things consistent and fast. Before you start - Decide how you want to group classes (e.g., Yoga, Pilates, Strength). - Confirm any booking rules (capacity, waitlist, online booking on/off) your studio follows. - Have images and short descriptions ready for your website schedule. Create a new Class Type 1. Go to Settings → Class Types. 2. Click + New (or Create Class Type). 3. Complete the fields below, then click Save. Field reference Basics - Name – The label students will see on your schedule (e.g., “Vinyasa Flow”). - Description – A concise class overview: who it’s for, what to bring, benefits. - Image (optional) – Appears on your embedded/public schedule if your theme supports it. - Color (optional) – Helps staff visually identify the class on the admin calendar. Logistics - Default Duration – Typical length (e.g., 60 or 75 minutes). - Default Capacity – Seats/spots available before waitlist begins. - Level – Beginner, All Levels, Intermediate, Advanced (use what your studio recognizes). - Location/Room (optional) – Default studio room if you manage multiple spaces. Booking rules - Online Booking – Allow students to book via your website or app. - Waitlist – Enable/disable and (if supported) set grace period or auto-promote behavior. - Cancellation Window – How many hours before class a student can cancel without penalty. - Membership & Pass Access – Link this class type to allowed products or Groups so only eligible passes/memberships apply. Teaching assignments - Eligible Instructors – Limit which teachers can be scheduled for this class type (optional). - Assistant (optional) – Allow an assistant role to be attached when scheduling. Online/Hybrid options (optional) - Streaming – Mark as live-streamed and store default meeting details (e.g., Zoom link placeholder). - On-Demand Tag – If you sell recordings, tag the class type so automations know what to send. Publishing - Show on Public Schedule – Toggle visibility on your embedded site schedule. - Branch/Location Visibility – If you have multiple branches, choose where it appears. Edit or archive a Class Type - Edit: Settings → Class Types → select a type → Edit. - Archive: Use Archive (or Deactivate) to remove it from future scheduling without deleting past classes or reports. Tip: When changing defaults (like capacity), existing classes on the schedule usually keep their current settings; new changes apply to future classes created from the template. Use your Class Type on the calendar When adding a new class on Schedule, pick your Class Type. All defaults (duration, capacity, rules) autofill—just set date/time and instructor, then save. Best practices - Keep names student-friendly and consistent (e.g., “Hot 26,” not “Hot Yoga 26/2 105°F”). - Write benefit-focused descriptions in 1–2 sentences. - Use Groups to connect Class Types with the right passes/memberships. - Review booking rules quarterly to match demand and policy changes.

Last updated on Aug 21, 2025

Class Waitlist: Setup, Student Sign-ups, Notifications & Confirmations

A full class doesn’t have to mean lost revenue. Enable a waitlist so students can hold their place in line and get automatically confirmed when a spot opens. Admins can fine-tune timing, capacity, and confirmations from the dashboard. 1) Turn on the Waitlist feature 1. Go to Studio Settings and open the Add-Ons tab. 2. Find Waitlist management and open its settings (gear icon). 3. Set the Waitlist Grace Period (minutes) — the cut-off before class start when the waitlist should stop accepting new sign-ups. Save your changes. 2) Define when the waitlist should kick in (per class) 1. Open Schedule, select the class, and click Edit from the left panel. 2. In Advanced Data, set the Class Capacity — the maximum number of attendees allowed before the waitlist turns on. 3. Click Next, then Save. 3) How students join the waitlist - When capacity is reached, the Book button switches to Add to Waitlist everywhere the class appears (your schedule, your website embed, and the mobile app). Students tap it to join. - If front desk staff manually try to book someone into a full class, that person is placed on the waitlist automatically. 4) Notifications sent to waitlisted students - Students receive an email confirming they’re on the waitlist. - You can customize this message under Settings → Studio Settings → Email Notifications. 5) Filling spots when they open - Automatic confirmation: When a seat becomes available, the next person in line is automatically emailed a confirmation. - Manual confirmation by staff: From the main dashboard, open the Booking screen for the class and click Confirm to immediately secure a spot for any waitlisted student (this bypasses capacity rules). - When the student arrives, you can also add them directly from the booking window to finalize attendance. Tips & best practices - Use a grace period that fits your no-show patterns (e.g., close the waitlist 15–30 minutes before class). - Set realistic capacity based on room size and safety rules; the waitlist only activates after this threshold. - Customize your notification copy so students know how confirmations work and when to check email.

Last updated on Aug 21, 2025

Creating a New Product in Karmasoft

When you’re ready to add a new item for sale in your studio—whether that’s merchandise, memberships, or packages—you’ll start by entering its basic product details. This step lays the foundation for everything else, ensuring your product is easy to identify, categorize, and track. Step 1: Enter Basic Product Information When you open the **New Product {**click Assets from the top menu, then select Products.} form, Click the blue +New button on the lower left, begin by filling in the key fields that describe your item: - Product Name Choose a clear, recognizable name. This will appear in your reports, point-of-sale, and online store. - Product Type Select the type that best fits: - Retail (physical goods like mats, shirts, or water bottles) - Service Packages (class packs, private lessons) - Memberships (recurring auto-pay plans) - Category Assign a category (for example, “Apparel,” “Accessories,” or “Class Packages”) to help with filtering and reporting. - SKU or Identifier (optional) Add a unique code if you use inventory tracking or barcodes. This helps avoid confusion between similar products. - Price Enter the base price. Additional pricing rules (such as discounts, taxes, or payment plans) can be added later. - Description (optional) Provide a short description if you’d like students to see product details in your online store. Why This Matters Setting up clear and accurate product data helps your team at checkout, makes it easier to track inventory and sales trends, and ensures your clients see the right information when they purchase online. Once you’ve completed this step, you’re ready to move on to Step 2: Advanced Settings, where you’ll configure things like payment options, auto-pay schedules, and restrictions. ✅ Best Practices - Use consistent naming so staff and customers can easily identify products. - Keep categories broad but logical to simplify reporting. - Always double-check the price before saving to avoid checkout issues.o

Last updated on Aug 21, 2025

Creating Groups in Karmasoft: Link Classes, Workshops, and Products

Creating Groups What are Groups? Groups let you organize your offerings (like classes and workshops) and connect them to the right products or packages. They’re especially handy for restricting when/where a package can be used and for keeping attendance and payments tidy across different segments (e.g., regular classes vs. a long-running training). Why Use Groups? - Link offerings to products – Associate specific classes or workshops with the correct packages. - Restrict package usage – Create time- or category-based access (e.g., Early Morning vs. Prime Time) so a 10-class card can work only where you intend. - Cleaner tracking – Separate attendance and payments for different programs, such as ongoing teacher training vs. drop-in classes. Before You Start It’s a good idea to create at least one Group early—many studios start with a simple “CLASSES” group—so you can assign it while setting up categories and schedules. Create a Group (Step-by-Step) 1. Go to Settings → Groups. 2. Click + New. 3. Enter a clear, descriptive name (e.g., Yoga Classes, Pilates, Early Morning). 4. Click Save. That’s it—your new Group is ready to assign to classes, workshops, and related products. Practical Examples - Time-based access: Create two groups—Early Morning and Prime Time—then issue different 10-class cards for each, or one card that’s valid in both. - Modality separation: Use separate Yoga and Pilates groups to charge and report on each stream independently. - Programs vs. drop-ins: Keep a Teacher Training group distinct from regular classes so attendance and payments don’t mix. Tips for Clean Setup - Keep names short and specific (e.g., “AM Classes,” “Workshops”). - Match product names to Group names where possible to make reporting intuitive. - Review Groups whenever you add a new category, workshop, or package. FAQ Yes, at least one is recommended so you can assign it to classes and packages as you build your system. Yes. You can issue a package that’s valid for one Group, multiple Groups, or all relevant Groups—giving you precise control over access.

Last updated on Aug 21, 2025

Embedding Karmasoft Elements on Your Website

Embedding Karmasoft Elements on Your Website Whether you want to display your schedule, workshops, staff profiles, video library, store, lead form, or daily offers, embedding Karmasoft elements is quick and easy. Just add the right iframe code to your site and customize with data options. Step 1: Choose and Add Your Code Snippet Copy and paste the relevant snippet into your HTML page. Replace demo.karmasoft.io with your own subdomain—you’ll find it in your browser’s address bar or your Karmasoft sign‑up email. | Element | Code Snippet | |--- |--- | | Schedule | <div id="container1" class="ksiframe-container" data-module="schedule" data-options="hide_branch=true" data-target="https://demo.karmasoft.io"></div><script src="https://demo.karmasoft.io/assets/iframeapi.js"></script> | | Video Library | <div id="container1" class="ksiframe-container" data-module="member/video_library" data-options="hide_branch=true" data-target="https://demo.karmasoft.io"></div><script src="https://demo.karmasoft.io/assets/iframeapi.js"></script> | | Workshops | <div id="container1" class="ksiframe-container" data-module="member/workshops" data-options="hide_branch=true" data-target="https://demo.karmasoft.io"></div><script src="https://demo.karmasoft.io/assets/iframeapi.js"></script> | | Instructors | <div id="container1" class="ksiframe-container" data-module="users/profiles" data-options="hide_branch=true" data-target="https://demo.karmasoft.io"></div><script src="https://demo.karmasoft.io/assets/iframeapi.js"></script>| | Store | <div id="container1" class="ksiframe-container" data-module="member/store" data-options="hide_branch=true" data-target="https://demo.karmasoft.io"></div><script src="https://demo.karmasoft.io/assets/iframeapi.js"></script> | | Lead Capture Form | <div class="ksiframe-container" data-module="student_lead/new" embedded="true" data-target="https://demo.karmasoft.io" id="container1"></div><script src="http://demo.karmasoft.io/assets/iframeapi.js"></script> | | Daily Offers | <div class="ksiframe-container" data-module="schedule/offers" data-target="https://demo.karmasoft.io" id="container1" style="position: fixed; right: 10px; bottom: 15px; width: 450px"><script src="https://demo.karmasoft.io/assets/offers.js"></script> | Step 2: Customize for Your Studio After embedding, make it your own: - Replace demo with your subdomain throughout the snippet. - Use data‑options parameters to refine display and functionality. Available Options: - today_only=true — shows only today’s content; requires by_branch. - clean=true — minimal, streamlined display. - hide_instructor_full_name=true — only first names show. - hide_instructor_name=true — hides instructor names entirely. - hide_branch=true — removes branch filter dropdown. - hide_instructor=true, hide_lesson=true, hide_type=true — hide other filters. - only_classes=true, only_workshops=true, only_online=true/false — filter content type. - by_lesson_category=ID, by_workshop=ID, by_branch=ID, as_list=true — advanced filtering and list display. - by_category=ID,ID… — for store embeds by product categories. Optional: Use JSON APIs for Greater Control Prefer to fetch data instead of embedding iframes? You can use these JSON endpoints: - Instructors: https://{subdomain}/users/profiles.json - Schedule: https://{subdomain}/schedule.json - Workshops: https://{subdomain}/member/workshops.json - Store: https://{subdomain}/member/store.json You can also add available within your JSON fetch: ex: https://ytb.karmasoft.io/schedule.json?today_only=true See Samples & Code Repositories Explore full working examples: - HTML Preview: Example site - JSON Preview: JSON data implementation - GitHub: Full code library

Last updated on Oct 29, 2025