May was about saving organizers time on the schedule, filling in gaps for combined training and eventing, and tidying up the parts of the app people use under pressure during a show.
🏆 New features
Start time conflict resolver (App)
The schedule now has a "resolve start time conflicts" button. It runs in the background, finds riders and horses with clashing start times, and swaps positions to fix them. It respects section boundaries, age groups in young horse competitions, riders with several horses, and pauses, so it never moves something it shouldn't. You get a progress bar while it works through the harder cases instead of a frozen screen.
Combined training: two-phase show jumping (App)
Combined training now supports two-phase show jumping. The second round is published in online results, the show jumping deduction is applied to the total, and the PDF builds its columns from the actual rounds. Results add up the way the protocol shows them.
Cross country: "under review" fence status (App)
Cross country fences can now be marked as under review, so a contested fence is clearly flagged while it's being looked at.
Simplified Chinese (App)
Equipe is now available in Simplified Chinese (zh-Hans).
Disable specific Stripe payment methods (Entry)
Organizers can now turn off individual Stripe payment methods like Link or Klarna, instead of taking all of them or none.
✨ Improvements
Reports and economy
- VAT on the economy report (App). The meeting economy report now shows VAT percentage and VAT amount, in the page, the PDF, and the new CSV and XLS exports. The exports include totals, and the XLS is grouped into sections with proper currency formatting.
- Miscellaneous items are sorted alphabetically in the economy report, so the same show always lists them in the same order.
Invoicing
- Pick the invoice date when generating invoices in batch (App). A date selector sits next to the auto-generate checkbox, limited to the meeting's date range, so batch invoices no longer always use today's date.
- Proforma invoices are no longer published to the entry system, which keeps draft amounts from showing up where they shouldn't.
Scheduling and start lists
- Breed and race columns are available in the start list field selector.
- A "force ascending category order" option was added to randomize.
- Trainer is now in the officials list.
- Dots are allowed in category names, so names like "1.30" work.
Daily work
- The name field is focused automatically on the new person and new horse forms, so you can start typing right away.
- The message to the organizer is editable in point of sale.
- Emoji can be used as a prize in kind, for the shows that like a bit of fun.
- Fetching data no longer publishes online unless you opt in. Publishing online is now an explicit choice when you fetch, so results don't go public before you're ready.
Organizer access
- A "this week" range button, the page you're on is kept when you change a user's access, and the index now shows each user's active show range.
Federation and language
- Norwegian framework text is now translated. Dates, number formatting, and validation messages that used to fall back to English now show in Norwegian.
- Your language is kept when you sign in through a federation. If you switched to your own language, signing in from a federation show no longer resets you to English.
- Licence year accepts full dates. Federation licence year now takes both a year and a full date (yyyy-mm-dd).
Scoreboard director (App)
If you build scoreboard scenes in the director, rules gained and/or grouping and the scene now exposes the previous current value. Before this, a rule could only check that a rider was currently ranked, so a presentation would re-show and re-animate whenever a judge edited remarks after a result was already on screen. Now a rule can detect the actual moment a rider goes from unranked to ranked, and fire only then:
"rules": {
"and": {
"ne": { "current": { "re": 999 } },
"eq": { "prevCurrent": { "re": 999 } }
}
}You can read this as: the rider is ranked now (current is not 999) and was not ranked a moment ago (prevCurrent was 999). Apply it to your presentation show and hide actions so they trigger once on submit, not on every later edit.
Value mapping with $if also gained a $default fallback. Previously, if no key matched the current value, nothing changed, and because sequences only replay when the value actually changes, the sequence would quietly not run. A $default key catches anything that doesn't match:
"motion.$if": {
"out": "in",
"horse-in": "in",
"$default": "in"
}Explicit null, 0, false and "" values in the mapping are now applied too, instead of being skipped.
🐛 Bug fixes
- Rider spacing in randomize was off by one. The "minimum riders between" setting could leave a rider's two horses one start too close. It now matches the number you set.
- Numeric category names produced empty start lists. Merged or custom categories with plain numbers (like "130") were parsed ambiguously and could show an empty list or corrupt a scoreboard. Compound ids are now unambiguous and these lists load correctly.
- Renumbering ignored unchecked class filters. Renumber now respects which classes you've selected.
- Competitions imported from Tävlingsdatabasen now appear in the same order as the proposition.
- Reserve list on full arenas (Entry). A competition limited only by an arena limit could still push entries onto the waiting list. It's now blocked when the arena is full and reserves are off.
- Application fee on refunds (Entry). When a payment is refunded, Equipe's application fee is now refunded too, in full or proportionally for a partial refund.
- Entry CSV export (Entry). Dropped the
sep=;first line that pushed headers to row two, quoted the header row to match the data, and split payer and rider into first and last name columns so you can sort by surname. - Officials with three-letter surnames (Online). Names like "Johnny MAK" were having the surname stripped as if it were a country code on import. Fixed.
- Marking sheet columns are only fetched when the source judgement actually supports them.
- Collaborators can free up a locked economy (Entry). When an invoice is sent from the app, the economy on the entry is hidden. Organizers can now remove the invoice reference to make it visible and editable again.
- Reserves no longer error when a rider link is missing its registration.
- Do-not-compete dates no longer create phantom competitions for list-only dates.
- Class section page (Online) returns 404 instead of an error when a start has no parent section.
📋 Regulatory and federation
- Norwegian framework strings, federation licence year as a full date, and the corrected Tävlingsdatabasen import order are covered above.
💬 What we're hearing
A few patterns from support this month:
- User language resetting to English. Several of you, mainly in Norway, told us your language flipped back to English every time you started from a federation show. We fixed this in May. Your chosen language now sticks.
- Rider messages and lists online. A handful of organizers had trouble saving rider messages and custom lists in online.equipe.com. We looked into each one.
- Team classes. Team jumping and team dressage, including ponies, stay among our most-asked topics: building teams, team line-ups, and how the totals are counted. Better documentation here is on our list.
- Merging and splitting classes. Recurring questions about combining categories or classes that were split for horse and pony, and getting late entries into the right class.
- Dressage judge comments. Several questions about where to type judge comments during result entry, and the QR code for dressage judges.
- Cancelled shows. A few organizers asked what to do in Equipe when a show is cancelled.
We read every question and report. Keep them coming.