Enter a Match Score
Recording a final score is the single most important action on match day. In 4league the score you save counts immediately — it updates standings, top-scorer tables and brackets straight away. This guide covers who is allowed to enter a score, the exact save flow, and the two things to watch out for: scores are final, and only one person should enter them.
Who Can Enter a Score
Score entry is gated by the same rule on the app (canEditScore() in AddScore.js) and on the backend (isPlayingTeamManagerAllowed in middleware/ownership.js). Three kinds of user are allowed:
| Who | Condition |
|---|---|
| Organizer / co-organizer | A competition admin or owner (role 1 or 2) can always enter and edit a score. |
| Assigned referee | A referee assigned to that match — an entry in the match’s referees list whose linked value is the user’s id — can enter the score. |
| Team Manager of a playing team | Only when the competition has managersCanAddScore enabled. With that setting on, a manager of either playing team may enter the score for their match. |
Team Manager score entry is off unless you turn on managersCanAddScore for the competition. Anyone outside the three roles above is blocked — the app hides the score controls, and the backend rejects the save.
Enter the Final Score
From the match, open the score screen, set each team’s goals, and save.
Open the match and its score screen
From the competition schedule, open the fixture and go to Add Score. If you don’t see the score controls, your role isn’t one of the three above — see Who Can Enter a Score.
Set each team’s goals
Enter the goals for the home and away team. For cup matches that need a winner, you can also record the penalty-shootout result.
Save
Tap Save. The app sends a POST /match/save request and the backend writes the final score. Standings, top-scorer tables and — for knockouts — the next-round bracket slot update straight away.
Scores Are Final on Save
The moment you save, the result is live. 4league has no score-confirmation step, no peer review, and no dispute mechanism for competition matches. The other team is not asked to approve the score, and there is no “contest this result” button. Double-check the goals before you save.
The only acceptance flow anywhere in the product is the friendly-match invite — a separate feature where the invited team accepts the match itself, not its score. It does not apply to competition fixtures.
If you do save a wrong score, it is not permanent — an organizer can re-open the match and re-enter it. See Correct or Delete a Result for the correction flow and the important caveat about knockout brackets.
Only One Person Should Score
Because more than one person may be allowed to enter a score (an organizer and a referee, or two team managers), it is possible for two people to open the same match and save at once.
If someone else saves the same match while you have it open, your save is rejected: the server returns conflict:true and the app shows the matchUpdatedByOther alert, then reloads the match with the other person’s data. Agree in advance that one person — usually the organizer or the assigned referee — enters a given match’s score, so results aren’t overwritten.
A league has managersCanAddScore on, so both managers could enter the score. To avoid clashing saves, the organizer asks the assigned referee to be the single scorer. The referee saves 3–1 at full time; it counts instantly and the table updates. When the home manager opens the match a minute later to “add” the score, he sees it’s already recorded — no second entry needed.
Related Guides
Re-open and re-enter a wrong score, or permanently delete a match — plus the knockout-bracket caveat.
The one place an acceptance flow exists — an invited team accepts the match invite. It’s separate from competition scoring.
The full match lifecycle — live mode, events, lineups, and how finishing a match differs from finalising a competition.