This one is specific to the United States version of Navision.
We have a customer preparing to do their 1099's for 1999 and they have discovered some discrepancies with the 1099 data stored in Navision. I have confirmed these discrepancies as follows, but do not see an obvious reason for them. Anybody have any ideas?
The problem manifests itself as an Invoice entry in the Vendor Ledger Entries that has a "1099 Code", but has a "1099 Amount" of zero. All of the Vendor Ledger Entries for these vendors have a value in the "1099 Code", but some of the entries do not have a "1099 Amount".
When I navigated from one of the Vendor Ledger Entry that does not have a "1099 Amount" to the Posted Purchase Invoice, I found that the Purchase Header has a value in the "1099 Code" field, but the associated Purchase Line had a "1099 Liable" value of 'No'. A brief foray into the code behind the Purchase Line table indicates that the "1099 Liable" field is populated in the OnInsert() trigger of the Purchase Line table based on the value of the "1099 Code" field in the Purchase Header. When I exported the Purchase Line table object to a text file and searched it, I found no other references to the "1099 Liable" field.
On a related note, the 1099 MISC report did not match up the fields to the boxes on the laser forms that we bought from Office Depot. Also, the report was not on the report selection list for Purchases and Payables. Is anybody using this functionality of Navision? Has anybody else had trouble?
I am attaching my understanding of the 1099 process as a separate posting under this thread for those interested in getting into the details with me.
-Weston
Weston M. Binford III
Trusted Business Information Systems, Inc.
www.trustedbis.comwbinford@trustedbis.com
<b>Weston M. Binford III</b>
Trusted Business Information Systems, Inc.
<email>wbinford@trustedbis.com</email>
Comments
For reference, here is my understanding of how the 1099 process works in Navision Financials:
When you set up a vendor, you associate it with a particular box on the one of the 1099 forms (1099-B, 1099-DIV, 1099-INT, 1099-MISC, 1099-R, or 1099-S) using the "1099 Code" field on the Payments tab of the Vendor Card.
When creating a purchase invoice for a vendor, the system copies the "1099 Code" from the Vendor Card to the Purchase Header. (Out of the box, there is not the capability to modify the "1099 Code" at the Purchase Header level because the field does not appear on the form.)
When individual purchase lines are created for a Purchase Invoice (in the OnInsert() trigger of the Purchase Line table), the "1099 Liable" field on the Purchase Line table is populated with 'Yes' if the "1099 Code" field in the associated Purchase Header is not blank, otherwise it is populated with 'No'.
When posting a Purchase Invoice, the purchase lines that have a "1099 Liable" value of 'Yes' are summed into a Total1099Amount and inserted into the Vendor Ledger Entry table field "1099 Amount" and the "1099 Code" field is copied from the Purchase Header to the Vendor Ledger Entry.
If you use the Purchase Journal, the "1099 Code" is copied from the Vendor to the General Journal Line table when the "Account No." field is validated in the same table (in the OnValidate() trigger of the "Account No." field if the "Account Type" is Vendor). The "1099 Amount" field is copied from the "Amount" field in the OnValidate() trigger for the "Amount" field. However, the user can change the "1099 Amount" field by showing it on the Purchase Journal. I would think that this field should be read-only.
When paying an invoice, the "1099 Code" is copied from the Vendor to the General Journal Line table when the "Account No." field is validated in the same (in the OnValidate() trigger of the "Account No." field if the "Account Type" is Vendor) using the same code as that used in the Purchase Journal. As best I can tell, this value is never used. In fact, while the "1099 Code" field matches what is in the Vendor card, the "1099 Amount" field is blank for payments. I believe that this process is just a by-product of the same process used for the Payment Journal and is not used in figuring 1099 amounts for the 1099 reports.
When the payment for an invoice is posted, the system copies the 1099 Code to the Vendor Ledger Entry table, but again does not populate the "1099 Amount" field.
Running Report 10112 Vendor 1099 Misc processes the payments for a vendor within a calender period, finding the associated invoices in the Vendor Ledger Entry table and summarizing the amounts for the various boxes on the 1099 form using the "1099 Code" and "1099 Amount" fields for each invoice.
Do I understand the process correctly?
-Weston
Trusted Business Information Systems, Inc.
<email>wbinford@trustedbis.com</email>
In Cronus, assign a 1099 code to Vendor 10000 London Postmaster and create a new Purchase Invoice. Create a single purchase line in the invoice. If you zoom (CTRL+F8) in on this line, you will see that the "1099 Liable" field is set to 'Yes'. Change the "Type" or the "No." fields. This will initialize the Purchase Line record which changes the "1099 Liable" field to the default value, 'No'. You can verify this change if you zoom (CTRL+F8) in on this line.
This problem can be solved by adding the following code to the end of the OnValidate triggers of the "Type" and the "No." fields:
PurchHeader.GET("Document Type","Document No.");
"1099 Liable" := (PurchHeader."1099 Code" <> '');
Weston M. Binford III
Trusted Business Information Systems, Inc.
<url=http://www.trustedbis.com>www.trustedbis.com</url>
<email>wbinford@trustedbis.com</email>
[This message has been edited by Weston Binford III (edited 01-02-2000).]
Trusted Business Information Systems, Inc.
<email>wbinford@trustedbis.com</email>