Files
accounted/.gitignore
T
Mattsson 072aedeaf9 Fix/supp ag fb (#1023)
* fix: prevent credit notes from entering payment flow

* fix: persist and display customer personal numbers

* feat: configure automatic invoice reminder days

* fix: issue credit notes through send flow

* chore: add repository agent guidance

* feat(mcp): route tools across user companies

* fix(articles): delete unused register entries

* feat(invoices): improve issued invoice actions

* feat(supplier-invoices): retain uploaded source documents

* docs: record implementation decisions

* feat: enhance customer personal number handling and validation

- Updated CustomerForm to allow personal numbers in the format of "********-1234" for individual customers.
- Added validation to ensure personal numbers are only accepted for individual customers in CreateCustomerSchema.
- Implemented masking and encryption for personal numbers to enhance data protection.
- Introduced new utility functions for masking and encrypting personal numbers.
- Added database migration to enforce unique constraints on credit note relationships and prevent duplicate entries.
- Enhanced error handling and logging for credit note issuance and invoice processing.
- Updated tests to cover new credit note creation guards and personal number handling.

* test: enhance list companies test with supabase query mocks
2026-07-15 15:53:15 +02:00

98 lines
2.6 KiB
Plaintext

# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions
# testing
/coverage
# next.js
/.next/
/out/
# production
/build
# misc
.DS_Store
*.pem
nul
# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
# env files (can opt-in for committing if needed)
.env*
!.env.example
!.env.docker.example
# vercel
.vercel
# typescript
*.tsbuildinfo
next-env.d.ts
# supabase temp files
supabase/.temp/
# claude local settings
.claude/settings.local.json
.claude/scheduled_tasks.lock
# swarm audit reports (generated by /swarm)
.swarm/
# compliance scan output (SARIF / dossier / PR comment)
.compliance-reports/
# generated service worker (built from public/sw.template.js by
# scripts/inject-public-branding.mjs: runs via predev/prebuild)
/public/sw.js
# dev docs (internal reference, not published): EXCEPT the iXBRL taxonomy
# sources and the official Bolagsverket example, which CI needs: the committed
# lib/bokslut/ixbrl/taxonomy/generated/ registry is regenerated from them by
# `npm run taxonomy:check` (core-build.yml) and the golden test pins against
# the example document.
/dev_docs/*
# Extension registry (auto-generated but defaults are committed)
# Run `npm run setup:extensions` to regenerate after changing extensions.config.json
# The empty defaults in lib/extensions/_generated/ are committed so core compiles
# out of the box without running the generator.
supabase/.branches/
# Local-only SIE test fixtures: may contain real/scrubbed company data, never commit
tests/fixtures/sie/
# Local-only DESTRUCTIVE duplicate-cleanup tooling: one-off, run by hand against
# real räkenskapsinformation. Deliberately NOT committed so it can never run in
# CI/cron and so its logic isn't mistaken for a supported product feature.
scripts/delete-duplicate-transactions.ts
# Diagnostic/cleanup tooling under /scripts is tracked, but the DATA those
# scripts read or emit (ledger dumps, reconciliation exports) is real customer
# räkenskapsinformation: never commit it. Keep the .ts/.sql tooling, ignore the data.
scripts/*.csv
# Local-only DESTRUCTIVE support tool: reopens a closed räkenskapsår by deleting
# only its bokslut layer (dispositioner + closing entry + next-year IB). Run by
# hand against real räkenskapsinformation; bypasses BFL immutability triggers, so
# it must never live in the repo / CI / cron.
scripts/reopen-bokslut.sql
.claude/plans/write-up-a-plan-streamed-fiddle.md
/ingaende-balanser-test.csv
.agents
.codex