@rafat

Thank you for taking the time to attempt to reproduce my anomaly. I'll list the exact steps I do to produce this:

1.) Select Sales -> Transactions -> Direct Invoice
2.) Change Invoice Date -> 08/11/2019 (US Date format MMDDYYYY)
3.) Select Customer -> AAA Insurance and Reference is Dn190174
4.) Select Item & Enter Amount -> Add Item
5.) Select Process Invoice
6.) Select Enter a New Direct Invoice

Returns to the form for entering a direct invoice and Invoice Date still shows in red 08/11/2019
but Reference shows Dn200001 and if I enter more invoices, it increments "Dn" using this year.

But.....If I logout and back in, the process starts over.  I can enter the first one with the next Dn number
correctly incremented to Dn190175 but after processing it, Dn is now for the current year.

I wish to point out that last fall I updated from ver 2.4.6 to ver 2.4.7 and that for 2018 to 2019 I did not
have this problem during January when entering 2018 invoices.

Maybe I need to have a file update that corrects this?  Is there a way that I can easily refresh this build to the latest files?

Thank you again for your time and effort,

/JimmyC

I am posting late December of the previous year's (2019) sales and after entering one sales invoice using Direct Invoice, the reference number for Sales Invoice changes from 2019 to 2020 but Customer Payment stays 2019!

Is there a setting I am missing to stop it from changing to 2020 automatically? 

In Preferences-Display Setup I have "Remember last document date:" enabled.

In Company Setup-Fiscal Year: "01/01/2019 - 12/31/2019 Active".

In Transaction References I have:
             Sales Invoice            Dn    {YY}{0001}    Yes
             Customer Payment    CP    {YY}{001}    Yes

In the Database Table "0_ refs":
        ('108', '10', 'Dn190108'),
        ('109', '10', 'Dn190109'),
        ('110', '10', 'Dn200001'),
        ('111', '10', 'Dn200002'),
        ('112', '10', 'Dn200003'),
                  ..........
        ('108', '12', 'CP19108'),
        ('109', '12', 'CP19109'),
        ('110', '12', 'CP19110'),
        ('111', '12', 'CP19111'),
        ('112', '12', 'CP19112'),

Invoice 108 was entered in December and 109, 110, 111 & 112 were entered today.

Database : 2.4.7

Does anyone have any insight to what may be causing this?

/JimmyC

@Joe

Yes! It works!

A thousand "Thank You"s!

/JimmyC

@Joe

The Supplier Credit Notes form also shows the same amount as the Invoice form.

/JimmyC

@Joe

I downloaded the latest snapshot, replaced all old files with the new snapshot files. 
Logged into FA and entered a supplier credit note for $22.89 USD. 
Opened the Supplier Invoices screen and it showed Current Credit:  $22.89.
Went to Banking and General Ledger -> Deposits and selected Supplier -> Home Depot.
Defaulted to 2010 Accounts Payable and entered Amount -> 22.89 -> Process Deposit.
Went to Purchases -> Supplier Invoices and Current Credit was $45.78.
Went to Purchases -> Allocate Supplier Payments or Credit Notes -> Home Depot.
Only one line displayed Supplier Credit Note : Home Depot : Total : 22.89 : Left to Allocate : 22.89.
Clicked the "Allocate" icon and entered the Allocation screen where I entered 22.89 into the "This Allocation" box -> Process.
The screen cleared and "no records".
Went to Purchases -> Supplier Invoices and Current Credit was $45.78.

As you can see, after entering the latest snapshot, there is no difference in output.

As a side note, I can reason why a Deposit by a Supplier causes a Credit.  But I can't understand why we have to do both processes?  That  is, I create a Supplier credit note and then the system automatically creates another credit note from the Deposit but the "allocation" process does not balance out either one.  I really do not know how it is supposed to be done correctly by Bookkeeping rules.

Good luck and thank you for working on it.

/JimmyC

Thank you @Braath Waate!

I opened a bug report #0004895 and referenced this topic discussion.

/JimmyC

To try to make it faster and I hope simpler, I've pasted below the General Ledger entries for that day.  To me, everything looks correctly balanced and should not show when I click Purchases -> Supplier Credit Note -> "Current Credit:    -45.78".  This Current Credit amount is exactly twice the amount of the refund of $ 22.89.

Type         #    Reference      Date             Account             Person/Item             Debit         Credit

Supplier    248    SI19053    04/26/2019    2010 AP        Supplier [00020] HD                     81.29
Invoice
Supplier    248    SI19053    04/26/2019    8200 BldExp    Supplier [00020] HD        81.29
Invoice
Supplier    247    SP19053    04/26/2019    2010 AP         Supplier [00020] HD        81.29
Payment
Supplier    247    SP19053    04/26/2019    1010 OprAcct    Supplier [00020] HD                  81.29
Payment
Supplier    2      SCN19001    04/26/2019    2010 AP         Supplier [00020] HD        22.89
CreditNote    
Supplier    2      SCN19001    04/26/2019    8200 BldExp    Supplier [00020] HD                  22.89
CreditNote    
Bank        42     BD19001    04/26/2019    2010 AP        Supplier [00020] HD                     22.89
Deposit
Bank        42     BD19001    04/26/2019    1010 OprAcct    Supplier [00020] HD        22.89

If anyone experiences this or if anyone knows what I am obviously doing incorrectly, please enlighten me, it would be greatly appreciated.

Thank you,
/JimmyC

If this can help at all, below is the Generate Patch output using WinMerge of just the Credit Note entry using the procedure that was explained above:

50c50
< ) ENGINE=InnoDB AUTO_INCREMENT=391 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
---
> ) ENGINE=InnoDB AUTO_INCREMENT=392 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
444c444,445
< ('390', '20190426-DC1 BBC Paint &amp; Supplies', '20', '248', 'wI9l3HH8HXnHa-RC6AEXygxx', '2019-05-21', '20190426 HomeDepot Paint wRefund.pdf', '1625934', 'application/pdf');
---
> ('390', '20190426-DC1 BBC Paint &amp; Supplies', '20', '248', 'wI9l3HH8HXnHa-RC6AEXygxx', '2019-05-21', '20190426 HomeDepot Paint wRefund.pdf', '1625934', 'application/pdf'),
> ('391', '20190426-DC Credit Note Refund cn', '21', '2', 'xIE1HNAJEo-wPesCnCYCFwxx', '2019-05-24', '20190426 HomeDepot Paint wRefund.pdf', '1625934', 'application/pdf');
463c464
< ) ENGINE=InnoDB AUTO_INCREMENT=5204 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
---
> ) ENGINE=InnoDB AUTO_INCREMENT=5207 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
5675c5676,5679
< ('5203', '22', '247', '1', '2019-05-21 08:21:20', NULL, '7', '2019-04-26', '0');
---
> ('5203', '22', '247', '1', '2019-05-21 08:21:20', NULL, '7', '2019-04-26', '0'),
> ('5204', '21', '2', '1', '2019-05-24 17:58:44', NULL, '7', '2019-04-26', '0'),
> ('5205', '2', '42', '1', '2019-05-24 22:19:05', NULL, '7', '2019-04-26', NULL),
> ('5206', '2', '42', '1', '2019-05-24 22:19:05', NULL, '7', '2019-04-26', '0');
5740c5744
< ) ENGINE=InnoDB AUTO_INCREMENT=2111 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
---
> ) ENGINE=InnoDB AUTO_INCREMENT=2112 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
7857c7861,7862
< ('2110', '22', '247', '1', 'SP19053', '2019-04-26', '-81.29', '0', '0', '3', '20', NULL);
---
> ('2110', '22', '247', '1', 'SP19053', '2019-04-26', '-81.29', '0', '0', '3', '20', NULL),
> ('2111', '2', '42', '1', 'BD19001', '2019-04-26', '22.89', '0', '0', '3', '20', NULL);
11088c11093,11095
< ('22', '247', '2019-04-26', '20190426-DC1 BBC Paint');
---
> ('22', '247', '2019-04-26', '20190426-DC1 BBC Paint'),
> ('21', '2', '2019-04-26', '20190426-DC Credit Note Refund cn'),
> ('2', '42', '2019-04-26', '20190426-DC Bank Deposit Refund bd');
18419c18426
< ) ENGINE=InnoDB AUTO_INCREMENT=6344 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
---
> ) ENGINE=InnoDB AUTO_INCREMENT=6348 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
24772c24779,24783
< ('6343', '22', '247', '2019-04-26', '1010', '', '-81.29', '0', '0', NULL, NULL);
---
> ('6343', '22', '247', '2019-04-26', '1010', '', '-81.29', '0', '0', NULL, NULL),
> ('6344', '21', '2', '2019-04-26', '2010', '', '22.89', '0', '0', '3', '20'),
> ('6345', '21', '2', '2019-04-26', '8200', '20190426-DC Credit Note Refund cn', '-22.89', '7', '1', NULL, NULL),
> ('6346', '2', '42', '2019-04-26', '2010', '20190426-DC Bank Deposit Refund bd', '-22.89', '7', '1', '3', '20'),
> ('6347', '2', '42', '2019-04-26', '1010', '20190426-DC Bank Deposit Refund bd', '22.89', '0', '0', NULL, NULL);
25668a25680
> ('42', '2', 'BD19001'),
27449,27450c27461
< ('486', '12', 'CP18208'),
< ('487', '12', 'CP18209');
---
> ('486', '12', 'CP18208');
27451a27463
> ('487', '12', 'CP18209'),
28245a28258
> ('2', '21', 'SCN19001'),
32123c32136
< ) ENGINE=InnoDB AUTO_INCREMENT=249 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
---
> ) ENGINE=InnoDB AUTO_INCREMENT=250 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
32374c32387,32388
< ('248', '20', '81.29', '2019-04-26', '247', '22', '248', '20');
---
> ('248', '20', '81.29', '2019-04-26', '247', '22', '248', '20'),
> ('249', '20', '22.89', '2019-04-26', '2', '21', '42', '2');
32397c32411
< ) ENGINE=InnoDB AUTO_INCREMENT=251 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
---
> ) ENGINE=InnoDB AUTO_INCREMENT=252 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
32650c32664,32665
< ('250', '248', '20', '8200', '-1', '0', '', NULL, '0', '81.29', '0', '20190426-DC1 BBC Paint &amp; Supplies', '8', '4');
---
> ('250', '248', '20', '8200', '-1', '0', '', NULL, '0', '81.29', '0', '20190426-DC1 BBC Paint &amp; Supplies', '8', '4'),
> ('251', '2', '21', '8200', '-1', '0', '', NULL, '0', '-22.89', '0', '20190426-DC Credit Note Refund cn', '7', '1');
32685a32701
> ('42', '2', '20', 'BD19001', '', '2019-04-26', '0000-00-00', '22.89', '0', '0', '1', '22.89', '0'),
32933a32950
> ('2', '21', '20', 'SCN19001', '20190426-DC cn', '2019-04-26', '2019-04-26', '-22.89', '0', '0', '1', '22.89', '1'),
33147,33149c33164
< ('214', '22', '49', 'SP19020', '', '2019-02-25', '2019-02-25', '-43.33', '0', '0', '1', '43.33', '0'),
< ('215', '22', '4', 'SP19021', '', '2019-02-19', '2019-02-19', '-274.35', '0', '0', '1', '274.35', '0'),
< ('216', '22', '2', 'SP19022', '', '2019-02-16', '2019-02-16', '-116.89', '0', '0', '1', '116.89', '0');
---
> ('214', '22', '49', 'SP19020', '', '2019-02-25', '2019-02-25', '-43.33', '0', '0', '1', '43.33', '0');
33150a33166,33167
> ('215', '22', '4', 'SP19021', '', '2019-02-19', '2019-02-19', '-274.35', '0', '0', '1', '274.35', '0'),
> ('216', '22', '2', 'SP19022', '', '2019-02-16', '2019-02-16', '-116.89', '0', '0', '1', '116.89', '0'),

Let me know if you would like any information that I may provide.

Thank you,
/JimmyC

Hello,

I am trying to enter a refund that is part of a regular store purchase for maintenance supplies using the Supplier Credit Note process that is detailed above.  I know this discussion is almost six years old but I could not find any other relevant postings close to the problem I am having. 

When I follow the three steps:

nlwowen wrote:

1) I do the credit note to effectively reverse out the original invoice against the gl line items  tax etc.

2) Raise a bank deposit against the receiving bank and 2100, by selecting supplier and select the supplier from list.

3) Go supplier credit note/payment allocations and allocate the credit note against the bank payment.

I end up with the Supplier having a Credit Balance of exactly twice the amount of the refund.  This appears in red numbers on the Purchases -> Supplier Invoices -> "Current Credit" and the Purchases -> Supplier Credit Notes -> "Current Credit".

When I click on the "Current Credit" red numbers, it pops up the Supplier Inquiry window which is the same display as the tab contents when you click on Purchases -> Supplier Transaction Inquiry. 

When I click on Purchases -> Supplier Allocation Inquiry, the tab contents results are "No records".

During the three step process, there were no errors or warnings displayed.  I had assumed every was correct until the next time I tried to enter this supplier invoice it showed the Current Credit I described above.

I also have screen shots of the Supplier Credit Note, the Bank Deposit and all of the GL account records for that day and I can send them to you if needed.

I have absolutely no idea what causes this or how to correct it.  Can anyone help me?

Thank you,
/JimmyC

Wow!   Thank all of you for such good replies so quickly!  I can clearly see that I do not even begin to understand all of the insides of this accounting program. 

@Braath Waate really hit the nail on the head with his final thought. 

Braath Waate wrote:

... create a Bank Transfer Quick Entry type, rather than using G/J.   This would require a code change to the Bank Transfer page to support quick entries.  This seems to make the most sense.

That is what I think I was looking for because all I wanted to do was streamline a few of the common bank transfers to be more consistent in the memo field wording for the different transfers.  Also, by naming the quick entries descriptively,  my office helpers will choose the correct transfers and the memo notes will be the same no matter who does the entry.

Thank all of you again for such quick and helpful responses.  But now I wonder if someone could help me make the change to enable quick entries in the Bank Transfer form?

Does anyone know why the journal entries always have a blank Person/Item? 

Is there a way that it could be populated with some pertinent information?

I just noticed this after experimenting with using journal entries with quick entries to replace common bank transfers.

@joe

Yes, you are correct.  Everything looks correct and the DB is not goofing up the due_date or delivery_date no matter how hard I try.
Thank you for dropping everything to work on this problem.  You have done an awesomely quick job and it is greatly appreciated by me.

Have a great day!

/JimmyC

@Joe

Thank you!  When you post it, I'll try it as quick as I can and send you feedback.

/JimmyC

@Joe

Don't know if it would help but I tried to capture the sql_trail for just one entry.  I exported it and pasted it in the code box below.

(599, 'SET sql_mode = &#039;STRICT_ALL_TABLES&#039;', 1, ''),
(600, 'UPDATE 0_users SET last_visit_date=&#039;2019-03-25 18:28:28&#039;\n        WHERE user_id=&#039;Admin&#039;', 1, 'could not update last visit date for user Admin'),
(601, 'SET sql_mode = &#039;STRICT_ALL_TABLES&#039;', 1, ''),
(602, 'SET sql_mode = &#039;STRICT_ALL_TABLES&#039;', 1, ''),
(603, 'SET sql_mode = &#039;STRICT_ALL_TABLES&#039;', 1, ''),
(604, 'SET sql_mode = &#039;STRICT_ALL_TABLES&#039;', 1, ''),
(605, 'SET sql_mode = &#039;STRICT_ALL_TABLES&#039;', 1, ''),
(606, 'SET sql_mode = &#039;STRICT_ALL_TABLES&#039;', 1, ''),
(607, 'SET sql_mode = &#039;STRICT_ALL_TABLES&#039;', 1, ''),
(608, 'SET sql_mode = &#039;STRICT_ALL_TABLES&#039;', 1, ''),
(609, 'BEGIN', 1, 'could not start a transaction'),
(610, 'INSERT INTO 0_sales_orders (order_no, type, debtor_no, trans_type, branch_code, customer_ref, reference, comments, ord_date,\n        order_type, ship_via, deliver_to, delivery_address, contact_phone,\n        freight_cost, from_stk_loc, delivery_date, payment_terms, total, prep_amount)\n        VALUES (&#039;930&#039;,&#039;0&#039;,&#039;27&#039;, &#039;30&#039;,&#039;27&#039;, &#039;&#039;,&#039;auto&#039;,&#039;&#039;,&#039;2019-03-24&#039;, &#039;3&#039;, &#039;1&#039;,&#039;Janet Gould&#039;,&#039;1445 Iva Street\\nBurton, MI 48509&#039;, &#039;&#039;, &#039;0&#039;, &#039;DEF&#039;, &#039;2019-03-24&#039;,&#039;4&#039;,&#039;50&#039;,&#039;0&#039;)', 1, 'order Cannot be Added'),
(611, 'INSERT INTO 0_sales_order_details (order_no, trans_type, stk_code, description, unit_price, quantity, discount_percent) VALUES (930,30,&#039;101&#039;, &#039;Donation -Tithe&#039;, 50,\n                1,\n                0)', 1, 'order Details Cannot be Added'),
(612, 'INSERT INTO 0_audit_trail (type, trans_no, user, gl_date, description, stamp)\n            VALUES(&#039;30&#039;, &#039;930&#039;,1,&#039;2019-03-24&#039;,&#039;&#039;, CURRENT_TIMESTAMP)', 1, 'Cannot add audit info'),
(613, 'UPDATE 0_audit_trail audit LEFT JOIN 0_fiscal_year year ON year.begin&lt;=&#039;2019-03-24&#039; AND year.end&gt;=&#039;2019-03-24&#039;\n        SET audit.gl_seq = IF(audit.id=4689, 0, NULL),audit.fiscal_year=year.id, stamp=CURRENT_TIMESTAMP WHERE type=&#039;30&#039; AND trans_no=&#039;930&#039;', 1, 'Cannot update audit gl_seq'),
(614, 'UPDATE 0_sales_orders SET version=version+1 WHERE order_no=&#039;930&#039; AND version=0 AND trans_type=30', 1, 'Concurrent editing conflict while sales order update'),
(615, 'INSERT INTO 0_debtor_trans (\n        trans_no, type,\n        debtor_no, branch_code,\n        tran_date, due_date,\n        reference, tpe,\n        order_, ov_amount, ov_discount,\n        ov_gst, ov_freight, ov_freight_tax,\n        rate, ship_via, alloc,\n        dimension_id, dimension2_id, payment_terms, tax_included, prep_amount\n        ) VALUES (&#039;930&#039;, &#039;13&#039;,\n        &#039;27&#039;, &#039;27&#039;,\n        &#039;2019-03-24&#039;, &#039;2019-03-24&#039;, &#039;auto&#039;,\n        &#039;3&#039;, &#039;930&#039;, 50, &#039;0&#039;, 0,\n        &#039;0&#039;,\n        0, 1, &#039;1&#039;, 0,\n        &#039;6&#039;, &#039;0&#039;, &#039;4&#039;, &#039;0&#039;, &#039;0&#039;)', 1, 'The debtor transaction record could not be inserted'),
(616, 'INSERT INTO 0_audit_trail (type, trans_no, user, gl_date, description, stamp)\n            VALUES(&#039;13&#039;, &#039;930&#039;,1,&#039;2019-03-24&#039;,&#039;&#039;, CURRENT_TIMESTAMP)', 1, 'Cannot add audit info'),
(617, 'UPDATE 0_audit_trail audit LEFT JOIN 0_fiscal_year year ON year.begin&lt;=&#039;2019-03-24&#039; AND year.end&gt;=&#039;2019-03-24&#039;\n        SET audit.gl_seq = IF(audit.id=4690, 0, NULL),audit.fiscal_year=year.id, stamp=CURRENT_TIMESTAMP WHERE type=&#039;13&#039; AND trans_no=&#039;930&#039;', 1, 'Cannot update audit gl_seq'),
(618, 'INSERT INTO 0_debtor_trans_details (debtor_trans_no,\n                debtor_trans_type, stock_id, description, quantity, unit_price,\n                unit_tax, discount_percent, standard_cost, src_id)\n            VALUES (&#039;930&#039;, &#039;13&#039;, &#039;101&#039;, &#039;Donation -Tithe&#039;,\n                1, 50, 0, \n                0, 0,&#039;1013&#039;)', 1, 'The debtor transaction detail could not be written'),
(619, 'UPDATE 0_sales_order_details\n                SET qty_sent = qty_sent + 1 WHERE id=&#039;1013&#039;', 1, 'The parent document detail record could not be updated'),
(620, 'INSERT INTO 0_stock_moves (stock_id, trans_no, type, loc_code,\n        tran_date, reference, qty, standard_cost, price) VALUES (&#039;101&#039;, &#039;930&#039;, &#039;13&#039;, &#039;DEF&#039;, &#039;2019-03-24&#039;, &#039;auto&#039;, &#039;-1&#039;, &#039;0&#039;,&#039;50&#039;)', 1, 'The stock movement record cannot be inserted'),
(621, 'INSERT INTO 0_trans_tax_details \n        (trans_type, trans_no, tran_date, tax_type_id, rate, ex_rate,\n            included_in_price, net_amount, amount, memo, reg_type)\n        VALUES (&#039;13&#039;,&#039;930&#039;,&#039;2019-03-24&#039;,0,0,1,0,&#039;50&#039;,&#039;0&#039;,&#039;auto&#039;,NULL)', 1, 'Cannot save trans tax details'),
(622, 'UPDATE 0_debtor_trans SET version=version+1\n            WHERE type=&#039;13&#039; AND ((trans_no=&#039;930&#039; AND version=0))', 1, 'Concurrent editing conflict'),
(623, 'INSERT INTO 0_debtor_trans (\n        trans_no, type,\n        debtor_no, branch_code,\n        tran_date, due_date,\n        reference, tpe,\n        order_, ov_amount, ov_discount,\n        ov_gst, ov_freight, ov_freight_tax,\n        rate, ship_via, alloc,\n        dimension_id, dimension2_id, payment_terms, tax_included, prep_amount\n        ) VALUES (&#039;930&#039;, &#039;10&#039;,\n        &#039;27&#039;, &#039;27&#039;,\n        &#039;2019-03-24&#039;, &#039;2019-03-24&#039;, &#039;Dn190148&#039;,\n        &#039;3&#039;, &#039;930&#039;, 50, &#039;0&#039;, 0,\n        &#039;0&#039;,\n        0, 1, &#039;1&#039;, 0,\n        &#039;6&#039;, &#039;0&#039;, &#039;4&#039;, &#039;0&#039;, &#039;0&#039;)', 1, 'The debtor transaction record could not be inserted'),
(624, 'INSERT INTO 0_audit_trail (type, trans_no, user, gl_date, description, stamp)\n            VALUES(&#039;10&#039;, &#039;930&#039;,1,&#039;2019-03-24&#039;,&#039;&#039;, CURRENT_TIMESTAMP)', 1, 'Cannot add audit info'),
(625, 'UPDATE 0_audit_trail audit LEFT JOIN 0_fiscal_year year ON year.begin&lt;=&#039;2019-03-24&#039; AND year.end&gt;=&#039;2019-03-24&#039;\n        SET audit.gl_seq = IF(audit.id=4691, 0, NULL),audit.fiscal_year=year.id, stamp=CURRENT_TIMESTAMP WHERE type=&#039;10&#039; AND trans_no=&#039;930&#039;', 1, 'Cannot update audit gl_seq'),
(626, 'INSERT INTO 0_debtor_trans_details (debtor_trans_no,\n                debtor_trans_type, stock_id, description, quantity, unit_price,\n                unit_tax, discount_percent, standard_cost, src_id)\n            VALUES (&#039;930&#039;, &#039;10&#039;, &#039;101&#039;, &#039;Donation -Tithe&#039;,\n                1, 50, 0, \n                0, 0,&#039;2025&#039;)', 1, 'The debtor transaction detail could not be written'),
(627, 'UPDATE 0_debtor_trans_details\n                SET qty_done = qty_done + 1\n                WHERE id=&#039;2025&#039;', 1, 'The parent document detail record could not be updated'),
(628, 'INSERT INTO 0_gl_trans ( type, type_no, tran_date,\n        account, dimension_id, dimension2_id, memo_, amount) VALUES (&#039;10&#039;, &#039;930&#039;, &#039;2019-03-24&#039;,\n        &#039;4011&#039;, &#039;6&#039;, &#039;1&#039;, &#039;&#039;, &#039;-50&#039;) ', 1, 'The sales price GL posting could not be inserted'),
(629, 'INSERT INTO 0_gl_trans ( type, type_no, tran_date,\n        account, dimension_id, dimension2_id, memo_, amount, person_type_id, person_id) VALUES (&#039;10&#039;, &#039;930&#039;, &#039;2019-03-24&#039;,\n        &#039;1200&#039;, &#039;0&#039;, &#039;0&#039;, &#039;&#039;, &#039;50&#039;, &#039;2&#039;, &#039;27&#039;) ', 1, 'The total debtor GL posting could not be inserted'),
(630, 'INSERT INTO 0_trans_tax_details \n        (trans_type, trans_no, tran_date, tax_type_id, rate, ex_rate,\n            included_in_price, net_amount, amount, memo, reg_type)\n        VALUES (&#039;10&#039;,&#039;930&#039;,&#039;2019-03-24&#039;,0,0,1,0,&#039;50&#039;,&#039;0&#039;,&#039;Dn190148&#039;,&#039;0&#039;)', 1, 'Cannot save trans tax details'),
(631, 'INSERT INTO 0_gl_trans ( type, type_no, tran_date,\n        account, dimension_id, dimension2_id, memo_, amount) VALUES (&#039;10&#039;, &#039;930&#039;, &#039;2019-03-24&#039;,\n        &#039;&#039;, &#039;0&#039;, &#039;0&#039;, &#039;&#039;, &#039;0&#039;) ', 1, 'A tax GL posting could not be inserted'),
(632, 'REPLACE 0_refs SET reference=&#039;Dn190148&#039;, type=&#039;10&#039;, id=&#039;930&#039;', 1, 'could not update reference entry'),
(633, 'INSERT INTO 0_debtor_trans (\n        trans_no, type,\n        debtor_no, branch_code,\n        tran_date, due_date,\n        reference, tpe,\n        order_, ov_amount, ov_discount,\n        ov_gst, ov_freight, ov_freight_tax,\n        rate, ship_via, alloc,\n        dimension_id, dimension2_id, payment_terms, tax_included, prep_amount\n        ) VALUES (&#039;930&#039;, &#039;12&#039;,\n        &#039;27&#039;, &#039;27&#039;,\n        &#039;2019-03-24&#039;, &#039;0000-00-00&#039;, &#039;CP19138&#039;,\n        &#039;0&#039;, &#039;0&#039;, 50, &#039;0&#039;, 0,\n        &#039;0&#039;,\n        0, 1, &#039;0&#039;, 0,\n        &#039;0&#039;, &#039;0&#039;, NULL, &#039;0&#039;, &#039;0&#039;)', 1, 'The debtor transaction record could not be inserted'),
(634, 'INSERT INTO 0_audit_trail (type, trans_no, user, gl_date, description, stamp)\n            VALUES(&#039;12&#039;, &#039;930&#039;,1,&#039;2019-03-24&#039;,&#039;&#039;, CURRENT_TIMESTAMP)', 1, 'Cannot add audit info'),
(635, 'UPDATE 0_audit_trail audit LEFT JOIN 0_fiscal_year year ON year.begin&lt;=&#039;2019-03-24&#039; AND year.end&gt;=&#039;2019-03-24&#039;\n        SET audit.gl_seq = IF(audit.id=4692, 0, NULL),audit.fiscal_year=year.id, stamp=CURRENT_TIMESTAMP WHERE type=&#039;12&#039; AND trans_no=&#039;930&#039;', 1, 'Cannot update audit gl_seq'),
(636, 'INSERT INTO 0_gl_trans ( type, type_no, tran_date,\n        account, dimension_id, dimension2_id, memo_, amount) VALUES (&#039;12&#039;, &#039;930&#039;, &#039;2019-03-24&#039;,\n        &#039;1045&#039;, &#039;0&#039;, &#039;0&#039;, &#039;&#039;, &#039;50&#039;) ', 1, 'The GL transaction could not be inserted'),
(637, 'INSERT INTO 0_gl_trans ( type, type_no, tran_date,\n        account, dimension_id, dimension2_id, memo_, amount, person_type_id, person_id) VALUES (&#039;12&#039;, &#039;930&#039;, &#039;2019-03-24&#039;,\n        &#039;1200&#039;, &#039;0&#039;, &#039;0&#039;, &#039;&#039;, &#039;-50&#039;, &#039;2&#039;, &#039;27&#039;) ', 1, 'Cannot insert a GL transaction for the debtors account credit'),
(638, 'INSERT INTO 0_bank_trans (type, trans_no, bank_act, ref,\n        trans_date, amount, person_type_id, person_id) VALUES (12, 930, &#039;4&#039;, &#039;CP19138&#039;, &#039;2019-03-24&#039;,\n        &#039;50&#039;, &#039;2&#039;, &#039;27&#039;)', 1, 'The bank transaction could not be inserted'),
(639, 'INSERT INTO 0_comments (type, id, date_, memo_)\n            VALUES (&#039;12&#039;, &#039;930&#039;, &#039;2019-03-24&#039;, &#039;POS_RRBC #930&#039;)', 1, 'could not add comments transaction entry'),
(640, 'REPLACE 0_refs SET reference=&#039;CP19138&#039;, type=&#039;12&#039;, id=&#039;930&#039;', 1, 'could not update reference entry'),
(641, 'INSERT INTO 0_cust_allocations (\n        amt, date_alloc,\n        trans_type_from, trans_no_from, trans_no_to, trans_type_to, person_id)\n        VALUES (50, &#039;2019-03-24&#039;, &#039;12&#039;, &#039;930&#039;, &#039;930&#039;, &#039;10&#039;, &#039;27&#039;)', 1, 'A customer allocation could not be added to the database'),
(642, 'COMMIT', 1, 'could not commit a transaction'),
(643, 'SET sql_mode = &#039;STRICT_ALL_TABLES&#039;', 1, ''),
(644, 'SET sql_mode = &#039;STRICT_ALL_TABLES&#039;', 1, '');

Good luck!

/JimmyC

@Joe   

To answer your questions and for you to make sense of them, I need to tell you that before I downloaded your fix, I upgraded to Version 2.4.6 Build 24.03.2019 to make sure I didn't have any old legacy modules.  I updated to the very latest updates that morning about a couple of hours before your message.

Because of my update being a major update to me, I had cleared my error.log file.  It is still empty with no errors at all.  Also, below in the code box is the DB line showing that exchange_diff_act in glsetup.general is set to "Exchange Variances Account: 8500 Other expenses" because I am using the "Not for Profit" Chart of Accounts for the USA.

('exchange_diff_act', 'glsetup.general', 'varchar', '15', '8500'),

I have today input another Direct Invoice in the same manner as the previous day and the output for both days is shown below:

('5716', '10', '927', '2019-03-24', '4011', '', '-150', '6', '1', NULL, NULL),
('5717', '10', '927', '2019-03-24', '1200', '', '150', '0', '0', '2', '12'),
('5718', '10', '927', '2019-03-24', '', '', '0', '0', '0', NULL, NULL),
('5719', '12', '927', '2019-03-24', '1045', '', '150', '0', '0', NULL, NULL),
('5720', '12', '927', '2019-03-24', '1200', '', '-150', '0', '0', '2', '12'),
('5721', '10', '928', '2019-03-24', '4011', '', '-100', '6', '1', NULL, NULL),
('5722', '10', '928', '2019-03-24', '1200', '', '100', '0', '0', '2', '41'),
('5723', '10', '928', '2019-03-24', '', '', '0', '0', '0', NULL, NULL),
('5724', '12', '928', '2019-03-24', '1045', '', '100', '0', '0', NULL, NULL),
('5725', '12', '928', '2019-03-24', '1200', '', '-100', '0', '0', '2', '41');

As you can see, the output has the same NULL row and my error.log file is still empty. 

In the code box below is the trans_tax_details for both entries:

('1853', '13', '927', '2019-03-24', '0', '0', '1', '0', '150', '0', 'auto', NULL),
('1854', '10', '927', '2019-03-24', '0', '0', '1', '0', '150', '0', 'Dn190145', '0'),
('1855', '13', '928', '2019-03-24', '0', '0', '1', '0', '100', '0', 'auto', NULL),
('1856', '10', '928', '2019-03-24', '0', '0', '1', '0', '100', '0', 'Dn190146', '0');

If you can offer any other suggestions, I will try them out.  This problem is far above my pay grade level.

/JimmyC

@Joe

Thank you again for your very quick response.  I am unable to do your request until tomorrow morning.   I will update you with my findings as soon as I can do what you ask.

/JimmyC

@Joe  Thank you!  I downloaded it (sales_order_entry.php) and I now get the correct dates for due_date and delivery _date.

I just have one question .... With the previous code, gl_trans created four lines of data:

('5525', '10', '909', '2019-03-10', '4011', '', '-150', '6', '1', NULL, NULL),
('5526', '10', '909', '2019-03-10', '1200', '', '150', '0', '0', '2', '12'),
('5527', '12', '909', '2019-03-10', '1045', '', '150', '0', '0', NULL, NULL),
('5528', '12', '909', '2019-03-10', '1200', '', '-150', '0', '0', '2', '12'),

and with the new code, five lines of data:

('5716', '10', '927', '2019-03-24', '4011', '', '-150', '6', '1', NULL, NULL),
('5717', '10', '927', '2019-03-24', '1200', '', '150', '0', '0', '2', '12'),
('5718', '10', '927', '2019-03-24', '', '', '0', '0', '0', NULL, NULL),
('5719', '12', '927', '2019-03-24', '1045', '', '150', '0', '0', NULL, NULL),
('5720', '12', '927', '2019-03-24', '1200', '', '-150', '0', '0', '2', '12');

Is this the expected or required output?

/JimmyC

@Joe

Thank you for such a quick response!  Yes,this did fix while viewing within FA when you are using the program.

But I must not have been clear on my terminology of the bug I was trying to explain.  The bug you fixed is what led me to open the MySQL Database and look at the values being stored and in which column.  That is when I saw the anomaly that on my very first entry of this FA session inputs a wrong due_date.  By "session" I mean that I have just opened a browser tab for FA, logged in and selected Sales -> Direct Invoice.   

Line number 926 was the last data entered of a "previous session" and the tran_date and due_date are correct.  I then logged out or FA, logged back into FA, selected Sales -> Direct Invoice and entered the data in the same manner with the due_date being the default auto generated value (trans_no 927).  Note that the due_date "defaulted" to today's date of 3/23/2019 instead of 3/17/2019.

I then created a second sale for the same customer and the due_date was stored as 3/17/2019 which is a correct default entry.

                                                  Table: 0_debtor_trans
trans_no    type    version    debtor_no    branch_code    tran_date      due_date        reference    tpe    order_    ov_amount
926            13       1                  40           40           3/17/2019     3/17/2019    auto             3     926                 100
927            13       1                  12           12           3/17/2019     3/23/2019    auto             3     927                 150
928            13       1                  12           12           3/17/2019     3/17/2019    auto             3     928                   20


                                                   Table: 0_sales_orders
order_no    trans_type      version    type    debtor_no    branch_code    reference    ...    ord_date    ...       delivery_date
926              30                  1              0             40              40              auto       ...    3/17/2019    ...       3/17/2019
927              30                  1              0             12              12              auto       ...    3/17/2019    ...       3/23/2019
928              30                  1              0             12              12              auto       ...    3/17/2019    ...       3/17/2019

Please let me know if I am not explaining correctly and I will try again.

/JimmyC

Currently I am using Version 2.4.4 Build 17.03.2018.  When I login and create my first Direct Invoice of this session, I first change the Invoice Date to the desired date, complete entering data and click "Place Invoice".

Upon examining the DB in the table debtor_trans, column due_date and table sales_order, column delivery_date, these two dates are the same but are always today's date and not the Invoice Date. 

If entering another invoice using the same invoice date without touching or changing the invoice date, then the above two dates are entered correctly to the same as the Invoice Date.

If I change to a new Invoice Date when entering the next invoice, the invoice dates (tran_date and ord_date) are the Invoice Date but the due_date and delivery_date are the previous invoice's Invoice Date.

In the listing below, I am trying to convey my explanations above using a beginning Invoice Date and Today's Date 2019-03-19:
 
   Invoice Date                  tran_date       &       due_date            ord_date       &       delivery_date
  2019-03-10                 2019-03-10             2019-03-19           2019-03-10            2019-03-19

  2019-03-10                 2019-03-10             2019-03-10           2019-03-10            2019-03-10
 
  2019-03-12                 2019-03-12             2019-03-10           2019-03-12            2019-03-10

  2019-03-15                 2019-03-15             2019-03-12           2019-03-15            2019-03-12

  2019-03-17                 2019-03-17             2019-03-15           2019-03-17            2019-03-15

  2019-03-17                 2019-03-17             2019-03-17           2019-03-17            2019-03-17

Log out and log back in:

  2019-03-17                 2019-03-17             2019-03-19           2019-03-17            2019-03-19

If hope I have portrayed this correctly so that you can replicate what I see happening in my DB.

If you need to know any Company, System or Preferences settings, please let me know and I'll try to reply quickly.


/JimmyC

@Braath Waate  Thank you, thank you, thank you very much!   This works perfect! 

I really don't know if it works correctly for manufacturing or normal retail profit businesses because all I have done is Church accounting for the last 10 years.  If anyone else uses this for the above type profit businesses and it doesn't mess up the taxes or other costs, then you wholeheartedly have my vote to get this put into the core for the next release.

Thank you again for your immediate support!

JimmyC

@Braath Waate  Thank you very much for for the code snippet from above.  It should completely fulfill my request but I have either made a change wrong or my existing version of FA isn't updated to the correct level.

To begin with, I am using Version 2.4.4 Build 17.03.2018.  When I try Purchases -> Supplier Invoices -> Go to add an entry using the Quick Entry method, I get the entry added correctly but with the "red x" in the next to last right side field and the "Edit Pencil" in the right most field.  To me, that is what I was hoping for but when I press either the "red x" or "Edit Pencil", the line is deleted and all that is left is the original partially empty default line that is there when first entering this input form. 

Also, the "Edit Pencil" not only deletes the Quick Entry line but then displays a light green banner across the top of the form with the Account Number of the default entry centered in the green banner and "Edit line from document" box on the far right side of the form's title line.

I have attached copied code snippets that I changed for both of my files below:

Part 1 of changes to invoice_ui.inc:

//--------------------------------------------------------------------------------------------------
function display_gl_controls(&$supp_trans, $k)
{
    $accs = get_supplier_accounts($supp_trans->supplier_id);
    if (!isset($_POST['gl_code']))
        $_POST['gl_code'] = $accs['purchase_account'] ? 
            $accs['purchase_account'] : get_company_pref('default_cogs_act');

Part 2 of changes to invoice_ui.inc:

            {
                delete_button_cell("Delete2" . $entered_gl_code->Counter, _("Delete"),
                      _('Remove line from document'));
                edit_button_cell("Edit" . $entered_gl_code->Counter, _("Edit"),
                        _('Edit line from document'));            
            }    
            end_row();
            if ($mode > 1) {

1 set of changes in purchasing/supplier_invoice.php:

    $Ajax->activate('gl_items');
}

$id4 = find_submit('Edit');
if ($id4 != -1)
{
       display_notification($_POST['gl_code']);
       $_SESSION['supp_trans']->remove_gl_codes_from_trans($id4);
       reset_tax_input();
       $Ajax->activate('gl_items');
}

$id2 = -1;
if ($_SESSION["wa_current_user"]->can_access('SA_GRNDELETE'))
{

Thank you for all of the help that you have done.  If you or anyone can find what I have done wrong, it will be greatly appreciated.

JimmyC

@poncho1234

I have followed your request for this "edit" option since I started using FA in April of 2018.  In my research, a similar question was asked in 2010 and 2011.   That is all I could find and no one has expanded on your post of 02/03/2018.

I have a need for this option for the way I use FA for a not for profit organization.   All I desire is to be able to edit the supplier invoice quick entry while creating the "GL Items for this Invoice". I am using quick entries for the individual line items needed to generate the GL items for the supplier invoice.  Note that these Quick Entries are simple single Expense Account assignments to a specific service account number provided without any Tax, surcharge, shipping or anything added in.

The fields that I would like to edit could be one or all of the normal fields available when entering a GL entry into the empty grid;
  Name
  Dimension 1
  Dimension 2
  Amount
  Memo

To see what is changed or added in the database, I made a single quick entry for one supplier and used WinMerge to show all changes.  Since I am not knowledgeable of SQL, I could not see any calculations behind the scenes other than saving exacting what I entered in the lines after clicking "Enter Invoice".  I even compared the changes when entering a different one, "deleting" this Quick Entry and manually entering the data for the correct entry and the database changes were the same. 

Because of this, I could not see any reason why being able to edit a GL line entry before it is "saved" or "posted" is prohibited. I am not asking to be able to pull up an existing processed supplier invoice and change it, I'm only asking to be able to edit the GL items for the new invoice that is currently being created before it is ever saved.

If you need any specifics, please ask and I will explain as much as I can since what I am asking is not proprietary in any way and I think is much needed by current users of FA.

23

(18 replies, posted in Setup)

@kvvaradha - Thank you for a quick reply again.   To paraphrase how I understand what you are saying is that  sometimes there are "warnings" triggered quick and presented in the sql_trail but after a very short time through the process of the DB firewall, the operation does complete despite the warning.

I did get in the habit of checking through FA user queries like "Sales order inquiry" and "GL inquiry" to verify the page operations (Direct Invoice, Bank Payment, etc.) completed properly.  So far, since the start of this total posting, all DB operations have completed properly when I checked inside the actual MySql DB even though the SQL_Trail reports problems.

Unless I can find an actual time DB operations do not complete (which has only occurred once in the hundreds of operations I've inspected), I will consider this post resolved.

Thank you again for your help (and apmuthu) and I will delete the connections I sent you in a couple of weeks if nothing else has happened.

24

(18 replies, posted in Setup)

@apmuthu; I have PM'd kvvaradha with credentials he requested along with 1N1.COM's suggested PHP script to connect to the MySQL DB for the FA link.

Let me know if you need any links/credentials to help.

25

(18 replies, posted in Setup)

I forgot to say, the current DB collation is utf8_unicode_ci