
Closed
Posted
Paid on delivery
We are an Australian training company building a multi-tenant e-learning platform on Moodle with IOMAD. All course content already exists — this is a configuration and integration project, not content production. Each client organisation logs in as its own tenant and administers everything itself. We do not want to perform enrolment administration on their behalf. Core functionality Tenant provisioning — each client organisation is an isolated IOMAD company with its own branding and login URL Delegated administration — a Company Manager can create users, create classes, allocate course seats and run reports, with no access to site administration and no visibility of any other tenant Shared course library — courses held once centrally and made available to nominated tenants, with participants from different tenants invisible to one another Class creation — a manager creates a dated class, adds participants by name and email (individually or by CSV), and the system creates or matches accounts, allocates seats with an expiry date tied to the class, and sends branded invitation emails Progress and completion tracking, exportable completion reports, certificates Usage billing — each enrolment written to a ledger on the participant's first course access, transmitted to Stripe as meter events, producing one monthly invoice per tenant in AUD with GST Video served from Cloudflare Stream or Mux via signed URLs, not stored in moodledata Transactional email via Postmark or SendGrid with SPF, DKIM and DMARC configured Environment Elestio managed IOMAD in an Australian region, with separate staging and production. All custom code delivered to our Git repository under GPLv3. Documentation and runbooks are required so we can operate the platform ourselves after handover. Not in scope Course content, practical assessment, marketing website, student management system integrations. To bid Describe an IOMAD project you have delivered and your role in it. Answer this: in IOMAD, what happens when a learner needs to belong to two companies at once, and what does each company's manager see? Bids that do not answer question 2 will not be considered. A full scope document will be sent to shortlisted bidders. Please see the attached full scope of the project. Many thanks Mo
Project ID: 40675494
138 proposals
Remote project
Active 5 hours ago
Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
138 freelancers are bidding on average $3,780 AUD for this job

Hello MO, Your question answer:- In IOMAD, what happens when a learner needs to belong to two companies at once, and what does each company's manager see? Core Behavior & Data Model: By default, IOMAD binds a user account to a single parent company record via the company field in the user mapping table (local_iomad_company_users). To support multi-company membership without separate user accounts, the user must be assigned to multiple company profiles/departments or provisioned across companies with identical shared credentials (e.g., matching email/SSO identity while utilizing IOMAD’s multi-company enrollment mapping). Tenant Isolation & Visibility: Company A Manager: Only sees the learner within Company A’s context (Company A classes, licenses allocated by Company A, and progress/completion records for courses provisioned through Company A). Company B Manager: Only sees the learner within Company B’s context. They have zero visibility into the fact that the learner belongs to Company B, nor can they view Company A enrollments, grades, class dates, or activity logs. We will create detailed proposal once you will ping us Thanks Dinesh Rathi
$5,000 AUD in 60 days
9.3
9.3

Hi Mo, We understand you're building a multi-tenant e-learning platform on Moodle with IOMAD for your Australian training company, requiring configuration and integration, not content production. Each client organisation will have its own isolated IOMAD company with branding and login URL. At Webbook Studio, we have experience with complex e-learning platforms, including a similar project where we integrated Moodle with custom PHP development for a learning platform website. Our team is well-versed in PHP, software architecture, and e-learning solutions, making us a strong fit for this project. In IOMAD, when a learner needs to belong to two companies at once, they can be assigned to multiple companies, but their primary company affiliation determines their visibility and access rights. Each company's manager can only see the learners and activities within their own company, ensuring data isolation between tenants. One question: How do you envision the tenant provisioning process being automated or streamlined, considering the potential for a large number of client organisations? Feel free to message us to discuss the details! — Webbook Studio
$3,000 AUD in 30 days
9.2
9.2

Hello, As a freelancer with over a decade of experience in web development and e-learning solutions, I'm excited to offer my services for your Moodle + IOMAD training platform. My work portfolio includes numerous successful projects that utilized IOMAD to create and manage multi-tenant platforms, making me well-suited for this job. One of the key aspects of my work, and relevant to your project, is my proficiency in integrating third-party systems such as Stripe for usage billing, Postmark or SendGrid for transactional emails, and Cloudflare Stream or Mux for video delivery. Additionally, my expertise in using signed URLs to serve videos via Cloudflare Stream or Mux aligns perfectly with your requirement of not storing the videos in moodledata. Regarding IOMAD's unique feature - dual-company membership for learners - each company manager can manage their respective members and courses independently. A learner can belong to two companies at once without disrupting the workflow because IOMAD allows compartmentalization with clear visibility allowed only within a specific company's purview. Each company manager only sees information relevant to their own company. In conclusion, I understand the complexities of this project and possess the technical prowess necessary to handle it successfully. My focus on delivering scalable, secure, and user-friendly products aligns closely with your expectations. Let’s collaborate on creating an inn Thanks!
$3,000 AUD in 15 days
8.6
8.6

Hi — Elias here from Miami. I understand this is an IOMAD configuration/integration build, not Moodle content production. The key requirement is true delegated tenant operation: each company manages its own users, classes, seats, branding and reporting while courses remain centrally maintained. On your required IOMAD question: IOMAD can associate a user with multiple companies, but company context and permissions must be handled carefully. Each Company Manager should see that learner only within their own company context—its enrolments/classes/reporting—not the learner’s relationship or activity belonging to another company. I would specifically validate this behaviour against your target IOMAD version because cross-company users are an important isolation edge case. My Moodle/IOMAD-related work has focused on PHP customization, enrolment/workflow automation, role permissions, reporting and external integrations. I don’t want to claim a specific completed IOMAD deployment I can’t substantiate; I’d be happy to discuss the relevant architecture and implementation experience directly. A few questions to better understand the scope: Q1 – Which Moodle/IOMAD versions are provisioned on Elestio? Q2 – Is billing strictly first-access-per-enrolment, including re-enrolments? Q3 – Will each tenant require a custom domain, or platform subdomains? Looking forward to hearing from you.
$4,000 AUD in 7 days
8.7
8.7

Your RFQ is clear that this is an RTO self-service platform, not an enrolment-admin service: Company Managers must create classes, bulk-add learners, control seats and view only their own tenant data. I would configure separate Australian Elestio staging/production environments, central closed shared courses, company-scoped roles and access controls, then implement the class workflow, immutable first-access billing ledger, Stripe Meter events/retries, GST-ready monthly invoicing, and signed Cloudflare Stream/Mux delivery. On comparable Moodle multi-tenant work, my role has covered PHP customisation, role/capability isolation, tenant provisioning, enrolment automation and payment/API integrations. All custom additions would be versioned in your client-owned GPLv3 Git repository, with tenant, billing, backup/restore and promotion runbooks. For a learner in two IOMAD companies, there should be one global Moodle account (email remains unique) attached to both company memberships; the second enrolment must match that account rather than create another. Each Company Manager sees only that learner's membership, class, licence allocation, progress and reports inside their own company—not the other company, its classes, courses, managers or relationship. I would test this explicitly, including direct-URL attempts. Muhammad Saad
$4,800 AUD in 7 days
7.9
7.9

In the world of e-learning and training platforms, my company - Walking Dreamz Technologies - has carved out a niche in developing custom, scalable, state-of-the-art solutions that empower clients to administer their own systems while maintaining seamless user experiences. We have a strong command over Moodle and IOMAD, as we have successfully delivered multiple projects deploying these technologies. One such project was for an educational organization where we configured IOMAD for multi-tenancy, similar to what you require. Pitch: When a learner needs to belong to two companies at once, such as in your scenario, our solution enables them to be associated with both companies. Each company's manager is privy only to the information and records relevant to their tenant while remaining oblivious to the other company's data. This level of control and privacy is well within the capabilities of the IOMAD platform. As seasoned developers with significant experience in HTML, PHP, and software architecture, we have frequently taken complex ideas and translated them into practical and efficient tech solutions, which is precisely what we'll do for you. With our meticulous planning, transparent milestones, effective communication channels (no communication gap as you'll deal directly with me), and robust code that aligns with best practices, I'm confident that our partnership will result in a top-tier product that meets your every need.
$3,000 AUD in 7 days
7.7
7.7

For a Moodle + IOMAD multi-tenant training platform with Stripe usage billing, the hard part is turning a large body of source material into a coherent course experience with consistent visuals, video, and navigation. I've handled similar builds involving PHP, Software Architecture, HTML, eLearning, usually where the important part was translating the brief into a reliable working system. My approach would be to first organize the 100-canto content structure, then build a repeatable production workflow for images, videos, presentation assets, and the course web experience. For this project, I would focus especially on: - Content map for 100 cantos, image sets, and presentation structure - Video production workflow, visual consistency, and reusable templates - Course website navigation, interactive elements, and handover assets If helpful, I can suggest a production plan for one canto first so you can approve the visual and course format before scaling to all 100. Best, Dr. Syafiq
$4,000 AUD in 21 days
7.4
7.4

Hello!, This is James from Hollywood... Your project is really about one hard thing: making Moodle + IOMAD act like a clean multi-tenant platform, then getting Stripe usage billing accurate enough that it never turns into a support issue later. That is exactly where I’d focus first. My approach would be: 1) tenant structure and domain or subdomain setup in IOMAD 2) Moodle roles, cohorts, and access mapping per tenant 3) Stripe usage tracking and billing logic 4) SendGrid email automation 5) testing, edge cases, and deployment hardening behind Cloudflare I’ve built SaaS and eLearning systems where the real challenge is not just making it work once, but making it reliable, measurable, and easy to maintain when multiple customers are live at the same time. Relevant work examples: - A multi-tenant coaching LMS with subscription billing - An internal training portal for a medical distributor - A SaaS onboarding platform with metered usage invoices - A WordPress learning hub with segmented user access A couple of questions before I start: 1) Is each tenant meant to have its own custom domain or subdomain, or will you use shared-domain routing? 2) For Stripe usage billing, do you want it based on active learners, course usage, or another metric? 3) Do you already have the Moodle/IOMAD base installed, or should I help shape the initial architecture too? If you want, I can map the full tenant and billing flow with you first so there are no surprises later.
$4,200 AUD in 11 days
7.1
7.1

Hi, In IOMAD, a learner can belong to two companies at once — one row per assignment in the company_users table, and they pick their active context at login via the company switcher. Each Company Manager sees only that learner's enrolments, progress, and completions inside their own company. Cross-tenant activity stays invisible: Company A's manager can't see the seat Company B allocated to the same user. Completion records live globally in Moodle, but IOMAD's reporting layer filters visibility by company_users assignment. I delivered a multi-tenant IOMAD build for a UK compliance training provider — 6 tenants, delegated Company Manager roles with site admin locked down, shared course library restricted per tenant, and CSV bulk enrolment with dated seat expiries. Full technical lead including a custom local_ plugin for the enrolment ledger and Postmark with DKIM. For your Stripe metering, the event should fire on first course access (not enrolment), written to a custom ledger table and pushed as Stripe meter_events via cron, with GST handled inside Stripe's tax engine. Worth flagging early: Cloudflare Stream signed URL refresh during long playback sessions is where most Moodle video plugins break. Two quick scope questions: 1. Is the Elestio staging environment already provisioned, or is deployment plus tenant subdomain routing in scope? 2. Should expired seats hard-block access, or preserve completion records read-only? Zuman
$5,000 AUD in 14 days
7.3
7.3

Hello, This Moodle + IOMAD platform needs more than a standard LMS setup it needs reliable multi-tenant separation, delegated administration, shared courses, class-based enrolments, and usage-based billing working together seamlessly. I’ve worked on e-learning, multi-tenant platforms, role-based administration, Stripe billing, reporting, and automated workflows, so I understand the importance of giving each organisation control without compromising tenant isolation. I can configure IOMAD with isolated company branding and login URLs, Company Manager permissions, centrally managed shared courses, class creation, CSV/user imports, seat allocation with expiry, branded invitations, progress tracking, certificates, and exportable completion reports. I’ll also implement the usage ledger around first course access and connect it with Stripe metered billing for monthly AUD invoicing and GST. Cloudflare Stream/Mux signed video delivery and Postmark/SendGrid transactional email can be integrated with the required authentication records. The final setup will include staging and production environments, GPLv3-compliant custom code delivered to your Git repository, and clear documentation/runbooks so your team can confidently operate the platform independently after handover. Regards, Nikita Gupta
$3,000 AUD in 45 days
7.0
7.0

Hi, Mateo here, from Toronto, to help you. I'll be upfront: I haven't personally delivered an IOMAD project, so if hands-on production experience with IOMAD specifically is a hard requirement, I may not be your top fit. What I bring is strong Moodle/PHP backend experience and multi-tenant SaaS architecture generally, plan provisioning, isolated data scoping, usage-metered billing, which maps directly onto what IOMAD layers over Moodle. On your screening question: in IOMAD, a user can be a member of more than one company simultaneously via the company_users table. Each company manager only sees that user within the context of their own company, their enrolments, classes and reports specific to that company, they cannot see the user's activity, courses or seat allocations under the other company. The user's core Moodle account is shared, but company-scoped data (departments, manager relationships, licence allocations) stays isolated per company. This is what makes the "invisible to one another" tenant isolation you're describing achievable at the seat/course level, not the account level. Given my honest experience gap with IOMAD specifically, would you consider a small paid milestone, standing up two test tenants with delegated admin and one shared course, before committing to the full build? Looking forward to working with you.
$3,200 AUD in 21 days
6.2
6.2

As an experienced full-stack web developer, my expertise spans across a range of platforms, including Moodle. I led an IOMAD-based project that involved building a multi-tenant platform with similar functionalities, such as tenant provisioning, delegated administration, shared course libraries and more. This hands-on experience makes me familiar with the nuances of the Moodle + IOMAD integration your project requires and assures you of a smooth development process with no steep learning curves. Regarding your second question on IOMAD, when a learner needs to belong to two companies at once, they can be assigned dual roles within their user account. Each company’s manager will then see only the relevant functions associated with their respective company; their visibility is restricted to activities within their own company's domain. This ensures data privacy and security while enabling both companies to administer their respective accounts effectively. My commitment to delivering clean architecture, scalable systems, and long-term maintainable solutions aligns perfectly with your project vision for sustainability. Moreover, being a preferred freelancer not only reflects my expertise but also signifies my dedication to high-quality results within deadlines. Together, let's create an optimized training platform tailored specifically for your unique needs.
$4,000 AUD in 7 days
6.4
6.4

I worked on a multi-tenant IOMAD platform for a training provider where each client independently managed users and classes. I handled the tenant setup, delegated admin roles, course sharing, and billing integrations with Stripe. That experience aligns closely with your needs. Regarding your question, IOMAD does not natively support a learner belonging to two companies at once. Typically, the user would have separate accounts for each company. Each company manager sees only their company’s users, classes, and reports, maintaining tenant isolation. For your usage billing, would you consider batching meter events per tenant to optimize Stripe API calls? Also, are you planning separate email templates per tenant or a dynamic template system? Based on my past work, tenant provisioning, billing sync, and LMS isolation can be configured reliably, and I can deliver documentation and runbooks to empower your team after handover. I’m ready to start reviewing the full scope and jump in.
$3,000 AUD in 7 days
5.9
5.9

Hello There! I’m Md Toriqul Islam, an experienced Moodle/IOMAD and Full-Stack Developer specializing in multi-tenant LMS configuration, custom integrations, enrolment workflows, reporting, billing, and secure platform architecture. I understand you need a production-ready multi-tenant IOMAD platform where each client manages its own users, classes, seats, branding, reports, certificates, and access, while courses remain centrally maintained. I can also handle Stripe metering, Postmark/SendGrid, Cloudflare Stream/Mux signed video access, staging/production, documentation, and GPLv3 Git delivery. I’m skilled in Moodle/IOMAD, PHP, PostgreSQL, REST APIs, Stripe, transactional email, multi-tenancy, RBAC, reporting, and secure integrations. I have a few questions: 1) Which IOMAD version is currently deployed on Elestio? 2) Is Stripe Billing/Meter already configured, or should I implement the complete metered billing workflow? 3) Do you already have staging and production Git/deployment workflows established? I can provide a relevant IOMAD project example, my exact role, implementation approach, timeline, milestone-based pricing, and post-handover support. I’m ready to review the full scope document and begin immediately. Looking forward to hearing from you. Best regards, Md Toriqul Islam
$3,000 AUD in 12 days
6.1
6.1

Hi Mo, I’m an individual developer with experience working with Moodle-based platforms, multi-tenant configuration, integrations and custom development. I can take ownership of the IOMAD configuration, tenant isolation, delegated administration, shared courses, class/enrolment workflows, reporting, billing integration, video delivery, transactional email and deployment/runbooks described in your scope. I’m also comfortable working within a Git/GPLv3 workflow across staging and production. Regarding question 2: IOMAD supports a learner belonging to multiple companies. The same Moodle account can be assigned to multiple tenants and can have a different role in each company—for example, Company Manager in Company A and learner in Company B. The learner can switch between their company contexts. Each Company Manager operates within their own company context and sees/manages users, enrolments, courses and reports belonging to that company. They do not automatically gain visibility or management rights over the learner’s other company memberships. IOMAD’s capabilities are tenant- and context-aware, so permissions can differ between companies. This makes the model suitable for your shared-course scenario while maintaining tenant-level administrative separation. Regards Praggya
$3,000 AUD in 7 days
6.5
6.5

My name is Mohd Sadab, and I have built a diverse portfolio of projects that demonstrate my ability to tackle complex challenges, much like yours. Although I may not have direct experience with IOMAD, my skills in PHP and software architecture are highly transferable. Your project requires an expert who not only understands Moodle and IOMAD deeply, but can also handle tenant provisioning, class creation, progress tracking and extensive backend integration with Stripe for usage billing. That's exactly what I bring to the table. One of our key strengths as a team is our capacity to bridge diverse technologies together seamlessly. We've extensive experience configuring platforms with services such as Elestio, handling multitenancy scenarios where learners might need to belong to multiple companies, and providing each company manager only the necessary access rights based on their role. Our ability to deploy end-to-end solutions across various stacks will ensure a smooth integration between Moodle, IOMAD and other services like Cloudflare Stream or Mux. Another crucial aspect of my work is the emphasis on documentation and knowledge transfer. In line with your needs, we will ensure that after delivering this comprehensive solution that meets your exact project scope under unit testing scrutiny; we will provide full documentation & runbooks so that you have all you need to autonomously operate the platform even after we hand it over.
$4,000 AUD in 7 days
6.2
6.2

Hello Mo, I have reviewed the scope and understand that this is a Moodle + IOMAD configuration and integration project, not a content-development project. I can help build the multi-tenant architecture, delegated administration, class/enrolment workflows, usage billing and required integrations while keeping the platform maintainable for your internal team. Recommended Approach I would work with your existing Elestio-managed IOMAD environment using: Moodle + IOMAD for multi-tenancy, courses and enrolments PHP for custom Moodle/IOMAD development MySQL/MariaDB as the database Stripe Billing / Meter Events for usage-based tenant billing Cloudflare Stream or Mux with signed URLs for video Postmark/SendGrid for transactional email Git + GPLv3 for custom-code version control Separate staging and production environments Key Functionality I’ll implement/configure: Tenant/company provisioning with branding and dedicated login URLs Company Manager permissions without site-admin access Central shared course library with tenant isolation Class creation and participant management Individual and CSV participant import Account creation/matching and class-based seat expiry Branded invitation emails Progress/completion tracking and certificates Exportable completion reports Thanks & Regards Dheeraj K.
$3,000 AUD in 30 days
6.9
6.9

I've deployed IOMAD for a UK-based training provider—configured tenant isolation, custom role mappings, and Stripe metered billing via Moodle plugins. I'll replicate this setup: provision tenants via Elestio CLI, patch IOMAD core for cross-tenant user assignments using `company_user` table extensions, and enforce row-level permissions in course/class contexts. Per-tenant managers see only their assigned users; multi-tenant learners appear under each company's roster with distinct course allocations and expiry dates. Stripe events will log enrolments under the correct tenant ID with GST metadata. I’ll deliver patches under GPLv3 with runbooks covering tenant provisioning, metered event sync, and email template overrides. Available immediately. Thanks, Andrii.
$3,000 AUD in 22 days
5.2
5.2

Hi, there - Truong here. "IOMAD MULTI-TENANT TRAINING PLATFORM" — you need a self-managed learning system where each client runs their own space securely. I would configure IOMAD around tenant isolation, delegated company management and automated enrolment flows rather than adding unnecessary custom administration. The key areas I would handle carefully are company permissions, usage billing events, signed video access and reliable email delivery. For the multi-company learner case: in IOMAD, a user can belong to multiple companies. Each Company Manager only sees users, courses, classes and reports connected to their own company permissions, not other tenants. Access needs to be designed carefully so shared courses do not expose participant data between organisations. How do you want the Stripe usage meter to count billing events — first course access only as described, or should renewals/re-enrolments also create usage records? Looking forward to working with you.
$3,000 AUD in 29 days
5.3
5.3

Delivered multi-tenant e-learning platforms using Moodle with IOMAD, focusing on delegated tenant administration, isolated branding, and a shared course library without cross-tenant visibility. In this integration-heavy engagement, the role is configuring IOMAD company/tenant provisioning, delegated roles for Company Managers (class/user creation, seat allocation, reporting only), and ensuring learners and enrolment flows respect tenant isolation. For the specific question: when a learner must belong to two companies, IOMAD maintains separate company contexts for the same person while each Company Manager sees only that company’s enrolments, classes, and reports. The learner can authenticate into each tenant independently; participant lists, seat allocations, and completion data remain scoped per tenant. Integration focus includes Stripe billing via metering on first course access, monthly AUD invoices with GST, usage ledger consistency, and media delivery through signed URLs from Cloudflare Stream or Mux. Email reliability is implemented with Postmark/SendGrid plus SPF/DKIM/DMARC, and operational readiness is ensured with documentation and runbooks for staging/production handover. Ongoing collaboration includes Git-based custom code delivery under GPLv3 to support long-term maintenance and controlled changes.
$3,000 AUD in 5 days
5.4
5.4

Sydney, Australia
Payment method verified
Member since Aug 27, 2026
$3000-5000 AUD
$5000-10000 USD
$250-750 USD
$3000-5000 AUD
$250-750 USD
$250-750 USD
₹100-400 INR / hour
₹1500-12500 INR
$30-250 USD
$100-225 USD
$30-250 USD
$15-25 USD / hour
$250-750 USD
$15-25 CAD / hour
₹100-400 INR / hour
₹12500-37500 INR
₹1250-2500 INR / hour
₹1500-12500 INR
$4-20 USD / hour
$30-250 USD