Leprechaun PSA

SuiteProjects Pro alternative

You are already on NetSuite. You still need somewhere to run delivery.

Fourteen years implementing NetSuite and SuiteProjects Pro — OpenAir, as it was called for most of them — for services firms. This is the PSA that was missing on those projects: it keeps NetSuite as the system of record, posts into your own account through sixteen record flows, and publishes its price on a page instead of behind a call.

When SuiteProjects Pro is the right answer

Worth saying first, because a comparison that admits nothing is not worth reading.

One vendor, one contract

If what you want is a single throat to choke and a single renewal, Oracle selling you both halves is a real advantage and no connector matches it. Nothing below changes that.

You are already deep in it

A firm that has configured SuiteProjects Pro over several years, with approval chains and reports built on it, is not helped by a switch. Switching costs are real and we will say so on a call.

Scale beyond our range

We build for firms of roughly 20 to 150 people. Above that, our onboarding tiers stop and we quote — and at some size an Oracle-scale product is the safer purchase.

Where this is different

The price is on the website

$15, $35 or $75 per user per month, by role, with no seat minimum and no platform fee. Most systems in this category make you book a call before quoting. You can work out whether this is affordable at eleven at night. The numbers.

Fixed fee with change orders

Change orders are a first-class record, not a note on a project: they carry their own approval, snapshot a baseline, and feed EAC and earned value. The cheaper PSAs treat a fixed-fee engagement as a budget that never moves, which is not how an implementation actually runs.

A plan, not a task list

Phases, tasks and subtasks with outline numbering, linked by all four dependency types — finish-to-start, start-to-start, finish-to-finish, start-to-finish — with lag in days. The critical path is computed from those links in working days and outlined on the Gantt, with float on every task that has slack. Baseline the plan against a change order and compare what moved. Tools at this price usually stop at tasks and dates, so moving one tells you nothing about the rest.

Revenue recognition that posts

Twelve recognition methods, and a recognized period posts to NetSuite as one balanced journal entry with project, department, class and location on every line. Unbalanced journals are refused here rather than by NetSuite.

Your own account, no badge

The connector posts to a RESTlet deployed in your NetSuite account. That needs your administrator, not a partner engagement — and not an ISV listing we do not have.

Each flow is a switch

Sixteen record types, each on its own toggle. A firm that wants NetSuite to receive clients and invoices while keeping its own employee list — because employees carry pay-adjacent data — can have exactly that.

Multi-currency that holds still

The rate and rate date are stored on the record, not applied at read time, so a historical invoice does not move when FX does. VAT and sales tax carry on invoice lines and on expense receipts for input-tax reclaim.

Where the line sits

Most integrations fail on an unstated assumption about which system is in charge. This one states it.

This app decides what to bill
Because only it knows which hours a manager approved, at whose rate, under which billing rule and against which change order. An invoice is assembled here from approved hours, milestones, expenses and marked-up purchases.
delivery
NetSuite issues it and owns the receivable
The invoice crosses and NetSuite owns it from that point. Invoiced, paid and overdue flow back, so reporting here reflects real billing state. Nothing here ever marks an invoice paid on its own.
ledger
Neither one guesses
A Draft, Submitted, Rejected or Void invoice never crosses. A card charge with no project on it is named in the sync log rather than parked against a placeholder. Every push is logged with what was sent and what came back.
both

All sixteen flows, one by one — what crosses, in which direction, and what deliberately does not.

Questions

We are on OpenAir rather than SuiteProjects Pro — does this apply?

Largely yes: Oracle folded the OpenAir line into the SuiteProjects Pro branding, so the two names reach the same place. If what you are weighing is the cost per seat rather than where the integration boundary sits, the seat arithmetic is below.

Do we have to leave NetSuite to use this?

No, and most firms should not. NetSuite stays the system of record for the ledger, AR and reporting. This sits in front of it for delivery — time, staffing, project financials and billing — and posts the results across. Sixteen record flows run between the two, each one a switch you control.

Are you an Oracle ISV partner?

No, and we would rather say so plainly than let you find out later. The connector works through a RESTlet deployed in your own NetSuite account, which needs your administrator's access rather than a badge on our website.

What does the integration actually cost?

A one-time $4,000 add-on to onboarding: the customer, project, vendor, item and invoice flows mapped and tested against your account, with go-live support. The seat price is the only recurring charge.

How long does a migration take?

The trial takes an afternoon from spreadsheet templates. Onboarding proper is a two-to-three-week project: imports from your real systems, roles and approval routing, rate cards, training for the people who approve and invoice, and four weeks of support after go-live. Historical timesheets, invoices and revenue come across as a separate add-on so reports do not start from zero.

What happens to our data if we leave?

Export any record type as CSV at any time from inside the app; you do not need to ask. On cancellation the schema is kept for 30 days, then deleted. We would rather lose a customer than hold one by making the exit expensive.

14 days, self-serve, nothing charged. Send three of your own project names and they will be loaded before a call.