CW-046 · ภ.ง.ด.1ก annual withholding summary
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- postgresql, typescript
Research direction
Start by reading #44 to understand the aggregation and rounding rules, then locate the existing monthly export entry point and its tests. Define the annual export against the published layout, covering mid-year employment, twelve-month equality, and reconciliation failures that name the month; completion requires tests for these acceptance criteria.
Written by the indexing model from the issue text.
Description
Priority P1 · Area payroll · Estimate S · Phase 3
Parent
#3 (CW-004).
What to build
A payroll officer picks a tax year and downloads ภ.ง.ด.1ก, the annual summary every Thai employer files. It is the year's monthly filings added up, so it reuses the aggregation and the rounding rules from #44 and differs in layout.
Acceptance criteria
- The annual export equals the sum of the twelve monthly exports for the same year — asserted by a test, not by inspection.
- The layout matches the published specification.
- An employee who joined or left mid-year appears with the months they were actually paid.
- A year with a month that does not reconcile is refused, naming the month.
Blocked by
- #44 — the aggregation and rounding rules are built there, and duplicating them is how the two filings end up disagreeing.
If this is wanted sooner it can be unblocked and worked alongside #44, at the cost of writing the aggregation twice and reconciling it afterwards.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 2h 56m
- Merged PRs (30d)
- 4
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from SuruchBoss/Cwork
-
documentation good first issue P3 phase-E
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
SuruchBoss/Cwork#50 ·
-
good first issue mobile P2
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SuruchBoss/Cwork#11 ·
-
documents P0 payroll
Difficulty 4/5 3-5 days Newbie friendliness 54/100
SuruchBoss/Cwork#74 · 1 comment ·
-
P0 payroll
Difficulty 4/5 3-5 days Newbie friendliness 55/100
SuruchBoss/Cwork#73 · 1 comment ·
-
P0 payroll
Difficulty 5/5 Over a week Newbie friendliness 38/100
SuruchBoss/Cwork#72 · 1 comment ·
All issues in SuruchBoss/Cwork
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
lichess-org/api#678 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
PostHog/posthog.com#20628 ·
Maintainers usually reply within 1 day
-
bug status:Needs Triage
Difficulty 1/5 Under an hour Newbie friendliness 92/100
jupyterlab/jupyterlab#19964 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
agentscope-ai/QwenPaw#8064 · 1 comment ·
Maintainers usually reply within 1 day
-
area: notebooks-jupyter bug theme: new notebook frontend
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
posit-dev/positron#16347 · 1 comment ·
Maintainers usually reply within 1 day