Ruby on Rails Developer Needed to Fix Subscription Billing Issues in SaaS Application

Posted last week

Worldwide

Summary

We are looking for an experienced Ruby on Rails developer to help troubleshoot and improve the subscription system in our existing SaaS application. Our app already has user accounts, subscription plans, Stripe billing and paid feature access, but the subscription logic has become unreliable as the product has grown. We do not need a full rebuild. We need someone who can review the current Rails codebase, find the weak points, and make the billing flow stable and maintainable. Current Problems We are seeing several issues around subscription and payment state: - Some users remain active even after a failed renewal payment. - Some users lose access even though their Stripe subscription is still active. - Plan upgrades and downgrades are not always reflected correctly in the app. - Cancellations sometimes update in Stripe but not in our database. - Stripe webhook events are being received, but the internal subscription state does not always stay in sync. - Admins do not have a clear way to see the customer’s current plan, billing status, payment failure reason, or last webhook event. - There may be legacy subscription records that need to be audited and corrected. The main goal is to make the Rails application trust the correct billing lifecycle instead of relying on scattered flags or manual fixes. What We Need Done The work will likely include: - Review the existing Rails subscription models, controllers, services, and Stripe integration. - Audit how users, plans, subscriptions, invoices, and payment status are stored. - Fix the logic that controls paid feature access. - Improve Stripe webhook handling for events such as subscription created, updated, canceled, payment succeeded, and payment failed. - Make webhook processing idempotent so duplicate Stripe events do not corrupt subscription state. - Add logging or an internal event record so we can see what happened when billing state changes. - Clean up old or inconsistent subscription records where needed. - Improve admin visibility into subscription status and billing history. - Add tests for key subscription lifecycle cases. Required Experience You should have strong experience with: - Ruby on Rails - Stripe Billing / Stripe Subscriptions - Stripe webhooks - Subscription lifecycle logic - ActiveRecord data modeling - Background jobs such as Sidekiq - PostgreSQL - Rails service objects - Admin/internal tooling - Testing billing edge cases Experience with Devise, paid membership systems, plan-based access, billing migrations, or complex subscription platforms is a strong plus. Ideal Developer The ideal developer is someone who has worked on real SaaS billing problems before, not only basic Stripe Checkout setup. We need someone who understands that subscription systems are sensitive because they affect revenue, customer access, failed payments, cancellations, invoices, and support workflows. The right person should be able to debug existing logic, explain the problem clearly, make safe changes, and avoid creating billing regressions. Expected Deliverables By the end of the project, we expect: - A clear diagnosis of the current subscription problems. - Fixed Stripe webhook and subscription sync logic. - More reliable access control based on subscription/payment status. - Safer handling of failed payments, cancellations, upgrades, and downgrades. - Improved admin visibility into subscription state. - Tests or documented verification steps for the most important billing flows. - A short technical summary of what was changed. Project Type This is a maintenance and stabilization project for an existing Rails SaaS application. If the initial work goes well, there may be follow-up work around billing analytics, customer lifecycle automation, plan management, and internal admin tools.

  • Less than 30 hrs/week
    Hourly
  • < 1 month
    Duration
  • Expert
    Experience Level
  • $30.00

    -

    $50.00

    Hourly
  • Remote Job
  • One-time project
    Project Type

Contract-to-hire opportunity

This lets talent know that this job could become full time.
Learn more
Skills and Expertise
Mandatory skills
Ruby on Rails
Subscriptoin
Activity on this job
  • Proposals:20 to 50
  • Last viewed by client:last week
  • Hires:
    1
  • Interviewing:
    2
  • Invites sent:
    1
  • Unanswered invites:
    0
About the client
Member since May 21, 2026
  • USA
    Independence4:04 AM
  • $102 total spent
    3 hires, 0 active
  • 5 hours
  • Tech & IT
    Small company (2-9 people)

Explore similar jobs on Upwork

Cin 7 Core and QuickBooks Integration SpecialistFixed-price‐ Posted 1 month ago
Intuit QuickBooks
Accounting
Bookkeeping
Windows Administration
Git
WordPress
PHP
MySQL
JavaScript

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo