CW-045 · ภ.ง.ด.1 monthly withholding filing
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- backend
Research direction
Start with #43 to understand the reconciliation, permission, download, and audit boundary, then review the Revenue Department's published text-layout specification and the unresolved rules concern in #36. Done means the seeded demo company's export matches hand-computed totals, layout and boundary-case rounding tests pass, unreconciled periods return the #43 error, and the export is audited.
Written by the indexing model from the issue text.
Description
Priority P1 · Area payroll · Estimate M · Phase 3
Parent
#3 (CW-004), which bundled the monthly filing, the annual summary and the 50 ทวิ certificate. This is the monthly filing alone.
What to build
A payroll officer picks a month and downloads a ภ.ง.ด.1 file in the Revenue Department's text layout, ready to submit. Every Thai employer files this monthly; today the figures are correct in Cwork and have to be re-keyed into whatever is used to file them, which is the error-prone step this system exists to remove.
Rounding is where this goes wrong quietly, so it is tested against the Revenue Department's rules rather than left to whatever the language does by default.
Acceptance criteria
- The export for the seeded demo company matches hand-computed totals, line by line.
- The layout matches the published specification — field widths, ordering, padding.
- Rounding follows the Revenue Department's rules, with tests covering the boundary cases.
- A period that does not reconcile produces the error from #43, not a file.
- The export is audited like any other.
Blocked by
- #43 — reconciliation, permission, download and audit come from there; this ticket is the formatter.
The rules being formatted here have not been reviewed by anyone qualified — see #36.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 37m
- Merged PRs (30d)
- 1
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 ·
-
P1 payroll phase-3
Difficulty 5/5 Over a week Newbie friendliness 30/100
SuruchBoss/Cwork#59 ·
-
P2 phase-3
Difficulty 5/5 Over a week Newbie friendliness 45/100
SuruchBoss/Cwork#58 ·
-
P3 project
Difficulty 3/5 1-2 days Newbie friendliness 76/100
SuruchBoss/Cwork#56 ·
All issues in SuruchBoss/Cwork
Similar issues
-
triage
Difficulty 1/5 Under an hour Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
mermaid-js/mermaid-live-editor#2053 ·
Maintainers usually reply within 1 day
-
factory
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
jessepollak/home#1455 ·
Maintainers usually reply within 1 day
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 95/100
lingdojo/kana-dojo#31227 · 1 comment · 5 reactions ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
appandflow/stim#1838 ·
Maintainers usually reply within 1 day