Fixes for CSV import

This commit is contained in:
David Bomba 2021-12-01 08:46:19 +11:00
parent 04d2726c87
commit 4d8ef04247
2 changed files with 13 additions and 8 deletions

View File

@ -92,7 +92,7 @@ class InvoiceTransformer extends BaseTransformer {
'amount' => $this->getFloat( $invoice_data, 'invoice.amount' ),
],
];
} elseif ( isset( $transformed['amount'] ) && isset( $transformed['balance'] ) ) {
} elseif ( isset( $transformed['amount'] ) && isset( $transformed['balance'] ) && ($transformed['amount'] != $transformed['balance'])) {
$transformed['payments'] = [
[
'date' => isset( $invoice_data['payment.date'] ) ? date( 'Y-m-d', strtotime( $invoice_data['payment.date'] ) ) : date( 'y-m-d' ),
@ -126,6 +126,8 @@ class InvoiceTransformer extends BaseTransformer {
}
$transformed['line_items'] = $line_items;
nlog($transformed);
return $transformed;
}
}

View File

@ -332,18 +332,21 @@ class CSVImport implements ShouldQueue {
$invoice = $invoice->service()->markViewed()->save();
}
if ( $invoice->status_id === Invoice::STATUS_SENT ) {
if( $invoice->status_id === Invoice::STATUS_DRAFT ){
}
elseif ( $invoice->status_id === Invoice::STATUS_SENT ) {
$invoice = $invoice->service()->markSent()->save();
}
if ( $invoice->status_id <= Invoice::STATUS_SENT && $invoice->amount > 0 ) {
if ( $invoice->balance < $invoice->amount ) {
$invoice->status_id = Invoice::STATUS_PARTIAL;
$invoice->save();
} elseif ( $invoice->balance <= 0 ) {
elseif ( $invoice->status_id <= Invoice::STATUS_SENT && $invoice->amount > 0 ) {
if ( $invoice->balance <= 0 ) {
$invoice->status_id = Invoice::STATUS_PAID;
$invoice->save();
}
elseif ( $invoice->balance != $invoice->amount ) {
$invoice->status_id = Invoice::STATUS_PARTIAL;
$invoice->save();
}
}