Repository navigation
feat: expand source-backed NT009 DPS review-only groups (#95) - #101
Merged
Merged
Conversation
…ents Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…isolation Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…n gates Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…view Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…itations Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…nces Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…rializer Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…modes Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…maining rules Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…floats Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
vitormattos
marked this pull request as ready for review
October 9, 2026 04:37
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #95 — documented NT009 structures (non-emitting preview)
Continues merged PR #100, starting from
mainat4fe03be2b4e289efc563b446ec680e3456bbdb53. Issue #95 has been reopened because the October NT009 contract was not yet implemented as a verified production emitter.Implemented in this PR
XmlBuilder::previewNt009Dps()API without changing the legacybuildDps(),DpsDataconstructor,DpsSchemaValidatororNfseClient::emit().infDPS/dest, Anexo VI rows 180–200): typed CNPJ/CPF/NIF choice and validated national/foreign address, correctly escaped text and conditionalindDestgroup.infDPS/valores/vAjusteBC, rows 293–336): exactly one ISSQN percentage, value or document-backed mode, up to 1,000docAjusteBCentries, typed mutually exclusivedFeNacional/docFiscalOutro/docOutroreferences, optional dates and independently specified supplier. Supplier street/address nesting follows the distinct official paths. The oldDpsData::deducaoReducao/vDedRedis rejected in this preview rather than silently reused.IBSCBS/bensMoveis, rows 404–407): up to 1,000 NCM/description/quantity records, restricted tocTribNac=99.04.01.IBSCBS/gPgtoVinc/pgto, rows 443–449): 1–99 transactions with validated methods, identifiers, and uniqueness.IBSCBS/imovel, rows 383–403): municipality, classified optional lease and up to 99 property units with addresses and per-unit adjustments.IBSCBS/condominios, rows 408–421): billing categories, optional breakdowns and discounts, exact-decimal charge reconciliation with arbitrarily large cent sums without integer overflow or floats.docs/NT009-CONTRACT-IMPLEMENTATION.md.All new features remain under opt-in review-only
Nt009DpsPreview, not under fiscal submission.Latest verification
Commit:
d0d1dd84ca207ae7bf1ba7bb69147b7015e958c5.All six GitHub Actions workflows passed, including full PHPUnit across PHP 8.2/8.3/8.4 and coverage, Psalm, PHP CS Fixer, minimum-dependency checks, REUSE and commit conventions. Review-only changes do not touch the official Annex/XSD source-monitoring workflows; the baseline 450-row matrix and 40 official indicator snapshot from PR #100 remain unchanged.
All 29 incremental commits in this PR have been verified cryptographically by GitHub and include the server-confirmed DCO Signed-off-by. No squash, no merge, no changes to
LibreCodeCoop/akaunting-nfse.Normative blockers: issue #95 MUST remain open
gIBSCBSAjuste. Do not silently decide its normative hierarchy.Reviewer outcome: this PR is ready for code review, but issue #95 is not ready for closure and production NT009 conformity is not claimed. Merge only after explicit user authorization.