This commit is contained in:
10
AyaNovaQBI/InvoiceTemplateBuilder.Designer.cs
generated
10
AyaNovaQBI/InvoiceTemplateBuilder.Designer.cs
generated
@@ -490,28 +490,28 @@
|
||||
// unitNameToolStripMenuItem
|
||||
//
|
||||
this.unitNameToolStripMenuItem.Name = "unitNameToolStripMenuItem";
|
||||
this.unitNameToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.unitNameToolStripMenuItem.Size = new System.Drawing.Size(173, 22);
|
||||
this.unitNameToolStripMenuItem.Tag = "~UNIT_NAME~";
|
||||
this.unitNameToolStripMenuItem.Text = "Unit name";
|
||||
//
|
||||
// unitMeterReadingToolStripMenuItem
|
||||
//
|
||||
this.unitMeterReadingToolStripMenuItem.Name = "unitMeterReadingToolStripMenuItem";
|
||||
this.unitMeterReadingToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.unitMeterReadingToolStripMenuItem.Size = new System.Drawing.Size(173, 22);
|
||||
this.unitMeterReadingToolStripMenuItem.Tag = "~UNIT_METER~";
|
||||
this.unitMeterReadingToolStripMenuItem.Text = "Unit meter reading";
|
||||
//
|
||||
// manufacturerToolStripMenuItem
|
||||
//
|
||||
this.manufacturerToolStripMenuItem.Name = "manufacturerToolStripMenuItem";
|
||||
this.manufacturerToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.manufacturerToolStripMenuItem.Size = new System.Drawing.Size(173, 22);
|
||||
this.manufacturerToolStripMenuItem.Tag = "~UNIT_MAKE~";
|
||||
this.manufacturerToolStripMenuItem.Text = "Manufacturer";
|
||||
//
|
||||
// unitModelNameToolStripMenuItem
|
||||
//
|
||||
this.unitModelNameToolStripMenuItem.Name = "unitModelNameToolStripMenuItem";
|
||||
this.unitModelNameToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.unitModelNameToolStripMenuItem.Size = new System.Drawing.Size(173, 22);
|
||||
this.unitModelNameToolStripMenuItem.Tag = "~UNIT_MODEL_NAME~";
|
||||
this.unitModelNameToolStripMenuItem.Text = "Unit model name";
|
||||
//
|
||||
@@ -827,7 +827,7 @@
|
||||
this.MainMenuStrip = this.tbManager;
|
||||
this.Name = "InvoiceTemplateBuilder";
|
||||
this.ShowInTaskbar = false;
|
||||
this.Text = "InvoiceTemplateBuilder";
|
||||
this.Text = "Invoice Template Builder";
|
||||
this.Load += new System.EventHandler(this.InvoiceTemplateBuilder_Load);
|
||||
this.tbManager.ResumeLayout(false);
|
||||
this.tbManager.PerformLayout();
|
||||
|
||||
BIN
docs/docs/img/main-invoice-template-example.png
Normal file
BIN
docs/docs/img/main-invoice-template-example.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
@@ -1,3 +1,81 @@
|
||||
# Test page
|
||||
# Invoice descriptive text
|
||||
|
||||
When you use QBI to invoice out billable items from an AyaNova workorder into a QuickBooks invoice, you could print a workorder report from AyaNova and physically provide the report along with the QuickBooks invoice.
|
||||
This is often the best option for shops that need to provide a very detailed work order report with a lot of data on it.
|
||||
|
||||
OR you could specify Descriptive Text to show on the QuickBooks invoice - which is text from the AyaNova workorder that was billed out.
|
||||
This is a good option if you typically don't have much detailed information on a work order that needs to be provided to the Customer with the invoice.
|
||||
|
||||
You can set as much or as little descriptive text about the service workorder(s) to display on the QuickBooks invoice.
|
||||
|
||||
For example, the screenshot below shows that this invoice has the additional descriptive text from the workorder identifying the following:
|
||||
|
||||
- what AyaNova workorder number the invoice is for
|
||||
|
||||
- text from the AyaNova workorder item summary
|
||||
|
||||
- and details about the labor service provided
|
||||
|
||||

|
||||
|
||||
## How to edit the descriptive text template
|
||||
|
||||
### Open the form
|
||||
|
||||
Use the "Invoice descriptive text template" menu option from the main menu:
|
||||
|
||||

|
||||
|
||||
to open the "Invoice template builder" form:
|
||||
|
||||

|
||||
|
||||
Here each section of a work order is represented with individual template that can be set when you want to include data from that section of the Work order.
|
||||
|
||||
You can manually edit a template or select from two predefined formats. You might find it easier to start with a pre-defined format and then edit to customize it further for your needs.
|
||||
|
||||
### Use default "Brief" format
|
||||
|
||||
To display just the text "Charges for the workorder:" and the workorder number from the work order header fields, select the menu option `Set to default brief format`.
|
||||
|
||||
This is useful so that the Customer can have a reference to an included Detailed Service Workorder report you have printed out to include with the QuickBooks invoice - especially if you have a lot of detail in the service workorder which the QuickBooks invoice may span many many pages to display.
|
||||
|
||||
Or, in some cases this is all the information required to provide to the Customer and no separate work order report is necessary depending on your needs.
|
||||
|
||||
Making this selection will automatically replace any previously set template fields completely.
|
||||
|
||||
### Use default "Detailed" format
|
||||
|
||||
If you do want the QuickBooks invoice to display text about everything billable from the service workorder, then select the menu option "Set to default detailed format".
|
||||
|
||||
QuickBooks invoices are very limited in the amount of text that can display, so your invoice may span multiple pages. It is up to you to test what descriptive text meets your needs.
|
||||
|
||||
Making this selection will automatically replace any previously set template fields completely.
|
||||
|
||||
### Manually editing the template
|
||||
|
||||
You can edit specifically what text you want to display and what data from the AyaNova service workorder by placing your cursor within the text area, entering any "static" text required, and then select the menu option Insert xxxxx field (where xxxxx will be the section of the AyaNova service workorder it corresponds to).
|
||||
|
||||
Do not manually type in data field tokens for an incorrect section - for example, do not enter ~WO#~ in the Unit: text area field, it will be ignored.
|
||||
|
||||
The appropriate tokens for each area are available from the menu options at the top of the form displayed when clicking into that area's text editing box.
|
||||
|
||||
Selecting a menu option will insert a *token* that will be substituted with data from the AyaNova work order when the invoice is generated.
|
||||
|
||||
Many ~tokens~ are available that correspond to what you would see in the AyaNova User interface when viewing that particular section of a Work order.
|
||||
|
||||
For example, let's say if a specific unit in a workorder item was selected for service, you want the following to display on the QuickBooks invoice:
|
||||
|
||||
Name of serviced equipment: *Units name*
|
||||
|
||||
Click in the Unit: text area and you will note that the menu changes to Insert unit field:
|
||||
|
||||

|
||||
|
||||
Type in the text (and/or replace the existing text and data fields) you want to display.
|
||||
|
||||
Then select the menu option Insert unit field: to drop down the list of selectable data fields from the Unit section of the service workorder and select `Unit name`
|
||||
|
||||
Note how the ~UNIT_NAME~ is inserted into that text area.
|
||||
|
||||
|
||||
## TEST PAGE
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Test page
|
||||
# Fixing unlinked objects
|
||||
|
||||
## TEST PAGE
|
||||
If a Work order is not able to be
|
||||
@@ -1,3 +1,79 @@
|
||||
# Test page
|
||||
# Invoicing overview
|
||||
|
||||
## TEST PAGE
|
||||
Once you have completed setting preferences in QBI and linked objects you are ready to Invoice.
|
||||
|
||||
When QBI is started, unless there are errors or missing settings it will by default show a list of work orders available for Invoicing:
|
||||
|
||||

|
||||
|
||||
## Problem work orders
|
||||
|
||||
In the image above you can see by the red exclamation circle icon in the row header at the left that the first three work orders have some issues to be fixed to allow them to be invoiced.
|
||||
|
||||
Usually this is caused by some objects on the work order that have not yet been linked to QuickBooks so QBI doesn't know how to invoice those objects yet or a price that varies between QuickBooks and AyaNova.
|
||||
|
||||
This can be avoided by ensuring you have linked all AyaNova objects to QuickBooks objects _before_ getting here, however it's not unusual for a new item to be created in AyaNova so this provides a quick way to resolve these issues when they arise.
|
||||
|
||||
To fix these problems use the "Fix problems" menu option:
|
||||
|
||||

|
||||
|
||||
This will open the "Fix problems" form:
|
||||
|
||||

|
||||
|
||||
This form shows all the problems found on the problem work orders previously seen.
|
||||
|
||||
To fix each problem, click on the button in the "Fix" column for each item.
|
||||
|
||||
### Missing link problems
|
||||
|
||||
If the issue is a missing link the fix will be to Link or if it's a Customer optionally Export that customer to QuickBooks.
|
||||
|
||||
Clicking on the Fix button will open the "Resolve AyaNova object" dialog box where you can link (or import if it's a Customer) the unmatched object:
|
||||
|
||||

|
||||
|
||||
Here you can select the QuickBooks object to link to the AyaNova object or in the case of a Customer an extra button is displayed allowing you to Export the Customer to QuickBooks.
|
||||
|
||||
Fixing this problem will cause it to be removed from the problem table.
|
||||
|
||||
### Price mismatch problems
|
||||
|
||||
If the issue is a Part price that is different in AyaNova than it is in the linked QuickBooks Item you can use the "Resolve AyaNova object price" dialog box to fix this particular issue:
|
||||
|
||||

|
||||
|
||||
There are four possible ways to resolve this issue:
|
||||
|
||||
#### Use the workorder price as it is; even though it's different
|
||||
|
||||
Keep the retail price as it is in the AyaNova service workorder, and invoice out at that AyaNova retail price in the QuickBooks invoice.
|
||||
|
||||
_Temporary fix_ - this setting is only kept until QBI is closed so if selected, but you close QBI before invoicing, you will need to select this again when you open QBI again as QBI will note again that there is a difference.
|
||||
|
||||
#### Set the workorder item's price to the QuickBooks price
|
||||
|
||||
Update the retail price and cost in the AyaNova service workorder to that of the QuickBooks Item, and invoice out at the QuickBooks retail price.
|
||||
|
||||
_Permanent fix_ - this changes the workorder item part price in AyaNova immediately and saves it so it's still set this way even if you close QBI before invoicing.
|
||||
|
||||
#### Set the AyaNova object's default price to be the QuickBooks price from now on
|
||||
|
||||
Updates the retail price in the AyaNova service workorder to that of QuickBooks part, _and_ updates the AyaNova Part's default retail price in the AyaNova Part object to that of the QuickBooks object, and invoices out at the QuickBooks retail price.
|
||||
|
||||
_Parmanent fix_ - this change survives restarting QBI before invoicing.
|
||||
|
||||
#### Set the QuickBooks object's default price to be the AyaNova price from now on
|
||||
|
||||
## Ready to invoice work orders
|
||||
|
||||
The last work order in the list has no error icon and is [ready to be invoiced](invoicing-single-vs-multiple.md) now.
|
||||
|
||||
## No workorders ready to invoice
|
||||
|
||||
If QBI doesn't find _any_ Work orders ready to Invoice you will instead see the "No invoiceable workorders found..." display:
|
||||
|
||||

|
||||
|
||||
See the No workorders ready to invoice [documentation page](invoicing-no-wo-ready.md) to fix this situation.
|
||||
|
||||
@@ -1,3 +1,18 @@
|
||||
# Test page
|
||||
# No invoiceable work orders found
|
||||
|
||||
## TEST PAGE
|
||||
If QBI doesn't find _any_ Work orders ready to Invoice you will instead see the "No invoiceable workorders found..." display:
|
||||
|
||||

|
||||
|
||||
The message will show the requirements for work orders to be available for invoicing that were set during setting preferences and may differ from that seen above.
|
||||
|
||||
Work orders will be available and displayed if they have:
|
||||
|
||||
- an empty "Invoice number" field
|
||||
- a matching [Work order status](https://www.ayanova.com/docs/svc-work-order-status/) set as the one selected in the [Billable Work order status](install-preferences.md#billable-work-order-status) preferences setting
|
||||
|
||||
## Refresh invoices
|
||||
|
||||
QBI doesn't keep a live connection to AyaNova so if you make changes in AyaNova to work orders so that they will meet the requirements above, you will need to tell QBI to check AyaNova again for those work orders by using the "Refresh invoices" menu item:
|
||||
|
||||

|
||||
|
||||
Reference in New Issue
Block a user