<style> .chartjs-size-monitor { display: none !important; height: 0 !important; overflow: hidden !important; }p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><style>
.chartjs-size-monitor {
display: none !important; height: 0 !important; overflow: hidden !important;
}
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
.chartjs-size-monitor {
display: none !important; height: 0 !important; overflow: hidden !important;
}
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
.chartjs-size-monitor {
display: none !important; height: 0 !important; overflow: hidden !important;
}
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><p data-pasted="true"><strong>In this guide we will cover:</strong></p><p><strong>- QuickBooks Online invoice numbering issue (Halo 2.250+)</strong></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">Who is Affected</span></strong></p><p>You are affected if both of the following settings are enabled in your Halo configuration:</p><p style="margin-left: 20px;"><strong>1. "Generate a unique system ID per document type (Invoice, Bill etc)"</strong></p><p style="margin-left: 20px;"><strong>2. "Sync Halo Invoice/Credit Note number to QuickBooks Online" set to Yes</strong><strong><br></strong></p><p><br></p><p>"Generate a unique system ID per document type (Invoice, Bill etc)" is found under Configuration > Billing > General Settings</p><p><br></p><p style="margin-left: 40px;"><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImJiNDAyMjZiLWE0Y2YtNGQ0MS04MzUyLTVhNTVmOTE0NWRmNiJ9.mbKifgrSqr7eLTV9Mj2USJHRKbtS7MxY9WDycMmn7CY" width="441" alt="" title="" height="56" data-pasted="true" style="box-sizing: border-box; border: 0px; cursor: pointer; padding: 0px; user-select: none; text-align: left; color: inherit; font: inherit; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; background-color: rgb(255, 255, 255); height: auto; width: 441px; max-width: none !important;" class="fr-fil fr-dib"></p><p style="margin-left: 20px;"><strong><span style="font-size: 10pt;">Fig 1. Setting to generate a unique system ID per document type</span></strong></p><p><br></p><p><br></p><p>"Sync Halo Invoice/Credit Note number to QuickBooks Online" is found under Configuration > Integrations > QuickBooks Online > QuickBooks Online Companies > select a connection > Syncing to QuickBooks Online.</p><p><br></p><p style="margin-left: 40px;"><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjM0OGEzZWExLWM3NGEtNDdhZS05ZGM5LWJlMWI4OTA5ODY2YyJ9.LY6SL7fGodgxTM9Cb08hGSh_V4wLohT7cJwc36jRBHk" width="400" alt="" title="" height="64" style="box-sizing: border-box; border: 0px; cursor: pointer; padding: 0px; user-select: none; text-align: left; color: inherit; font: inherit; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; height: auto; width: 400px; max-width: none !important;" data-pasted="true" class="fr-fil fr-dib"></p><p style="margin-left: 60px;"><strong><span style="font-size: 10pt;">Fig 2. Setting to sync the Halo document number to QuickBooks Online</span></strong></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">What this Means for You</span></strong></p><p>Because the numbering source has changed, there is a chance of either gaps appearing in your QuickBooks invoice number sequence, or duplicate invoice numbers being created in QuickBooks Online.</p><p><br></p><p><strong><span style="font-size: 14pt;">What you need to do</span></strong></p><p>Any invoices already affected will need to be resolved manually by editing them in QuickBooks Online and applying the correct sequential invoice number.</p><p><br></p><p>There are then two options available to you:</p><p><strong>Option 1 — Disable the setting (recommended if you want to stop the issue immediately)</strong></p><p style="margin-left: 20px;">Disable the "Generate a unique system ID per document type" setting. Halo will then continue to use the Halo System ID exactly as it did prior to version 2.250.</p><p><br></p><p><strong>Option 2 — Manually correct any existing invoices in conflict today, then change Next System ID</strong></p><p style="margin-left: 20px;">In QuickBooks Online, manually correct any existing invoices that have a conflicting. Then set the 'Next System ID' for invoices to be the next number after your highest invoice number. This is set under Configuration > Advanced Settings > Set Next System IDs > Update the next Invoice ID. This will reconcile the conflict and allow normal non-manual intervention in invoice generation</p><p><br></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">The Fix</span></strong></p><p>This issue is being tracked internally under reference 1542896. The fix will be included in version 2.250.63.</p><p><br></p><p>Once you are on the version containing the fix, you will be able to choose whether to use the Halo System ID or the generated Type ID. This option is found under Billing Configuration > General Settings, via the setting "Send the ID per invoice type to QuickBooks Online as the invoice number".</p><p><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjUwMGZiNzIwLTJiYTktNGM3ZC04ZGZiLWE1YjA1ZTg5ZDI2ZSJ9.ln8STI7V-FacK3ftvZFnvoiKjIRce292aAqHuL49QeU" width="483" alt="" title="" height="auto" style="box-sizing: border-box; border: 0px; cursor: pointer; padding: 0px; user-select: none; text-align: left; color: inherit; font: inherit; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; height: auto; width: 483px; max-width: none !important;" data-pasted="true" class="fr-fil fr-dib"><strong><span style="font-size: 10pt;">Fig 3. Send the ID per invoice type to QuickBooks Online as the invoice number</span></strong></p><p><br></p><p> </p><p>Any duplicate Invoice Numbers can be found by creating a report using the below SQL query:</p><p><br></p><p style="margin-left: 20px;"><em>SELECT ih.ihid,ih.IH3rdPartyInvoiceNumber,ih.IHInvoice_Date</em></p><p style="margin-left: 20px;"><em>FROM invoiceheader ih</em></p><p style="margin-left: 20px;"><em>INNER JOIN (</em></p><p style="margin-left: 20px;"><em> SELECT ih3rdpartyinvoicenumber</em></p><p style="margin-left: 20px;"><em> FROM invoiceheader</em></p><p style="margin-left: 20px;"><em> WHERE ih3rdpartyinvoicenumber IS NOT NULL</em></p><p style="margin-left: 20px;"><em> AND LTRIM(RTRIM(ih3rdpartyinvoicenumber)) <> ''</em></p><p style="margin-left: 20px;"><em> GROUP BY ih3rdpartyinvoicenumber</em></p><p style="margin-left: 20px;"><em> HAVING COUNT(*) > 1</em></p><p style="margin-left: 20px;"><em>) dupes</em></p><p style="margin-left: 20px;"><em> ON ih.ih3rdpartyinvoicenumber = dupes.ih3rdpartyinvoicenumber</em></p><p><br></p><p><br><br></p>