payment_within_30_days => 1,
remote_account_number => 3,
skonto_exact_amount => 5,
- wrong_sign => -1,
+ wrong_sign => -4,
sepa_export_item => 5,
batch_sepa_transaction => 20,
);
}
#check sign
- if ( $invoice->is_sales && $self->amount < 0 ) { # TODO debit note
+ if (( $invoice->is_sales && $invoice->amount > 0 && $self->amount < 0 ) ||
+ ( $invoice->is_sales && $invoice->amount < 0 && $self->amount > 0 ) ) { # sales credit note
$agreement += $points{wrong_sign};
$rule_matches .= 'wrong_sign(' . $points{'wrong_sign'} . ') ';
}
if (( !$invoice->is_sales && $invoice->amount > 0 && $self->amount > 0) ||
- ( !$invoice->is_sales && $invoice->amount < 0 && $self->amount < 0) ) { # credit note
+ ( !$invoice->is_sales && $invoice->amount < 0 && $self->amount < 0) ) { # purchase credit note
$agreement += $points{wrong_sign};
$rule_matches .= 'wrong_sign(' . $points{'wrong_sign'} . ') ';
}
transdate => $dt_10,
);
my ($agreement, $rule_matches) = $bt->get_agreement_with_invoice($credit_note);
- is($agreement, 13, "points for credit note ok");
- is($rule_matches, 'remote_account_number(3) exact_amount(4) wrong_sign(-1) depositor_matches(2) remote_name(2) payment_within_30_days(1) datebonus14(2) ', "rules_matches for credit note ok");
+ is($agreement, 14, "points for credit note ok");
+ is($rule_matches, 'remote_account_number(3) exact_amount(4) depositor_matches(2) remote_name(2) payment_within_30_days(1) datebonus14(2) ', "rules_matches for credit note ok");
$::form->{invoice_ids} = {
$bt->id => [ $credit_note->id ]