Business-NAB
view release on metacpan or search on metacpan
Change: 6887139232ce1b17124594cdeebff0bf69be507b
Author: Lee Johnson <lee@payprop.com>
Date : 2025-11-21 13:41:16 +0000
up test coverage
Business::NAB::BPAY::Remittance::File::TrailerRecord::_brf_int gets
better coverage here as we specifically test for a negative amount.
the other stuff is trivial "oops i missed this" when writing the
original test coverage
Change: 0a545b905ac5c97a69daff6b6feaf533190435cb
Author: Lee Johnson <lee@payprop.com>
Date : 2025-11-21 13:41:15 +0000
replace List::Util `sum` with`sum0`
so we don't need to `//= 0` after the fact. this requires List::Util
v1.26 min so update Makefile.PL to specify that
remove a couple of `use List::Util` imports as we're not... using
them
Change: 65368135e878e56285f9a3cf6d325e8cc8a0c1b2
Author: Lee Johnson <lee@payprop.com>
Date : 2025-11-21 13:41:14 +0000
"inline" the decamelize method
rather than pulling in the entire Mojolicious distribution for this
one helper function, "inline" it instead into the
Business::NAB::Types module and make it available from it
Change: a83e5bdd2dbd5120b9adc1b73ab4e1b25efedfbd
Author: Lee Johnson <lee@payprop.com>
Date : 2025-11-21 13:41:13 +0000
make dist ready for CPAN
various files for building and packaging:
perl Makefile.PL
make && make test && make dist
Change: de3f41706a54c5ffd85e2d756dbad18b33074991
Author: Lee Johnson <lee@payprop.com>
Date : 2025-11-21 13:41:13 +0000
BPAY Remittance File parsing
based on Appendix D of the "NAB BPAY User Guide (April 2023)" this
follows the convention of the other file parsing/generating modules
created in the Business::NAB namespace
perldoc, test coverage, example files, etc
note the weird way of handling amounts in the trailer record, they
use the last character to represent: * the last digit * the sign
it's a little odd, but i guess they've historically had to squeeze
amounts into the 15 available spaces (which are minor units, so 13,
which still feels like a lot, but whatever). this is the *only* NAB
file type that does this, so it might actually be a BPAY thing
see also: NAB::Type::BRFInt in Business::NAB::Types which will coerce
NAB's value to an actual signed integer so we don't need to worry too
much about this in the class or the thing setting it / calling it
Change: 2d5871956cd0ef88ba04aa4066bccfa5d9b03874
Author: Lee Johnson <lee@payprop.com>
Date : 2025-11-21 13:41:12 +0000
parse NAB acks and reports (unpaids, etc)
update the file_status table to keep track of which responses we get,
and when. this is done with the XML response files, we can't (or
shouldn't) do much else with these as the transaction level responses
are somewhat wishy-washy and free form text
the disbursement report is a bit more useful as it has a structured
format for returns/unpaids/failures so we don't need to faff about
add some test coverage around this, there's probably more to come but
this is a reasonable start
Change: ccd52f5134c74b0451276054815cfc109c8bec10
Author: Lee Johnson <lee@payprop.com>
Date : 2025-11-21 13:41:11 +0000
change sprintf to string rather than dec
we're outputting strings here, don't potentially change the output
due to conversion - the test case added here covers this
Change: 773540a86f63a7a3945e2f7902ea1ac73fac01e3
Author: Lee Johnson <lee@payprop.com>
Date : 2025-11-21 13:41:10 +0000
NAB BSB type constraint tweaks
the format of the BSB number is different depending on which batch
file we are dealing with:
* DirectEntry Payments: with a dash
* BPAY Payments: without a dash
this is a bit annoying, but we can handle via coercion to make either
format able to be passed into the constructor on the class but the
coercion then format it correctly for when the output is created
tweak test coverage to exercise this
Change: 6babd0527837248ded98e6086f43d1ca0ed5b6e9
Author: Lee Johnson <lee@payprop.com>
Date : 2025-11-21 13:41:08 +0000
parse and link NAB response/ack
despite the response files using, you know, a markup language; we are
( run in 0.663 second using v1.01-cache-2.11-cpan-0b58ddf2af1 )