From 7ca73a798643349abf13a753701e3db38d61fcc9 Mon Sep 17 00:00:00 2001 From: Bobbie Hodgetts Date: Wed, 8 Jul 2020 10:15:43 +0100 Subject: [PATCH] Import invoice automatically opens Xero for export --- .../frmMain.Designer.cs | 260 +++++++++--------- .../BealeEngineering.Accounts/frmMain.cs | 6 + .../BealeEngineering.Accounts/frmMain.resx | 9 - 3 files changed, 136 insertions(+), 139 deletions(-) diff --git a/BealeEngineering/BealeEngineering.Accounts/frmMain.Designer.cs b/BealeEngineering/BealeEngineering.Accounts/frmMain.Designer.cs index ba65cd2..7c6d91f 100644 --- a/BealeEngineering/BealeEngineering.Accounts/frmMain.Designer.cs +++ b/BealeEngineering/BealeEngineering.Accounts/frmMain.Designer.cs @@ -29,8 +29,8 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); this.invoiceHeaderBindingSource1 = new System.Windows.Forms.BindingSource(this.components); this.bindingSourceSaleInvoice = new System.Windows.Forms.BindingSource(this.components); this.menuStrip1 = new System.Windows.Forms.MenuStrip(); @@ -84,6 +84,17 @@ this.label2 = new System.Windows.Forms.Label(); this.txtInvoiceImportDt = new System.Windows.Forms.TextBox(); this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.PurchaseOrderLineID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.ContactName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.PurchaseOrderDate = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.PurchaseOrderReference = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.PurchaseOrderLineNumber = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.PurchaseOrderLineDescription = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.PurchaseOrderLineNetAmount = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.InvoicedAmount = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.PurchaseOrderLineFacility = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.WorkNumber = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.WorkTitle = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.purchaseOrderAllocationBindingSource = new System.Windows.Forms.BindingSource(this.components); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabProjectWork = new System.Windows.Forms.TabPage(); @@ -113,17 +124,6 @@ this.taxTotalDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.isCreditNoteDataGridViewCheckBoxColumn = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.statusDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.PurchaseOrderLineID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ContactName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.PurchaseOrderDate = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.PurchaseOrderReference = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.PurchaseOrderLineNumber = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.PurchaseOrderLineDescription = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.PurchaseOrderLineNetAmount = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.InvoicedAmount = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.PurchaseOrderLineFacility = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.WorkNumber = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.WorkTitle = new System.Windows.Forms.DataGridViewTextBoxColumn(); ((System.ComponentModel.ISupportInitialize)(this.invoiceHeaderBindingSource1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSourceSaleInvoice)).BeginInit(); this.menuStrip1.SuspendLayout(); @@ -192,7 +192,7 @@ // xeroInvoiceToolStripMenuItem // this.xeroInvoiceToolStripMenuItem.Name = "xeroInvoiceToolStripMenuItem"; - this.xeroInvoiceToolStripMenuItem.Size = new System.Drawing.Size(139, 22); + this.xeroInvoiceToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.xeroInvoiceToolStripMenuItem.Text = "Xero Invoice"; this.xeroInvoiceToolStripMenuItem.Click += new System.EventHandler(this.xeroInvoiceToolStripMenuItem_Click); // @@ -537,8 +537,8 @@ // TotalAndCurrency // this.TotalAndCurrency.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight; - this.TotalAndCurrency.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight; + this.TotalAndCurrency.DefaultCellStyle = dataGridViewCellStyle1; this.TotalAndCurrency.HeaderText = "InvoiceTotal"; this.TotalAndCurrency.MinimumWidth = 120; this.TotalAndCurrency.Name = "TotalAndCurrency"; @@ -549,8 +549,8 @@ // this.status.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.status.DataPropertyName = "Status"; - dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.status.DefaultCellStyle = dataGridViewCellStyle8; + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.status.DefaultCellStyle = dataGridViewCellStyle2; this.status.HeaderText = "Status"; this.status.MinimumWidth = 100; this.status.Name = "status"; @@ -722,6 +722,118 @@ this.dataGridView1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellContentClick); this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick); // + // PurchaseOrderLineID + // + this.PurchaseOrderLineID.DataPropertyName = "PurchaseOrderLineID"; + this.PurchaseOrderLineID.HeaderText = "PurchaseOrderLineID"; + this.PurchaseOrderLineID.Name = "PurchaseOrderLineID"; + this.PurchaseOrderLineID.ReadOnly = true; + this.PurchaseOrderLineID.Visible = false; + // + // ContactName + // + this.ContactName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.ContactName.DataPropertyName = "ContactName"; + this.ContactName.FillWeight = 150F; + this.ContactName.HeaderText = "Client"; + this.ContactName.MinimumWidth = 90; + this.ContactName.Name = "ContactName"; + this.ContactName.ReadOnly = true; + // + // PurchaseOrderDate + // + this.PurchaseOrderDate.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; + this.PurchaseOrderDate.DataPropertyName = "PurchaseOrderDate"; + this.PurchaseOrderDate.FillWeight = 30.59646F; + this.PurchaseOrderDate.HeaderText = "PO Date"; + this.PurchaseOrderDate.MinimumWidth = 80; + this.PurchaseOrderDate.Name = "PurchaseOrderDate"; + this.PurchaseOrderDate.ReadOnly = true; + this.PurchaseOrderDate.Width = 80; + // + // PurchaseOrderReference + // + this.PurchaseOrderReference.DataPropertyName = "PurchaseOrderReference"; + this.PurchaseOrderReference.FillWeight = 30.59646F; + this.PurchaseOrderReference.HeaderText = "PO Number"; + this.PurchaseOrderReference.MinimumWidth = 100; + this.PurchaseOrderReference.Name = "PurchaseOrderReference"; + this.PurchaseOrderReference.ReadOnly = true; + // + // PurchaseOrderLineNumber + // + this.PurchaseOrderLineNumber.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; + this.PurchaseOrderLineNumber.DataPropertyName = "PurchaseOrderLineNumber"; + this.PurchaseOrderLineNumber.FillWeight = 30.59646F; + this.PurchaseOrderLineNumber.HeaderText = "Line No"; + this.PurchaseOrderLineNumber.MinimumWidth = 50; + this.PurchaseOrderLineNumber.Name = "PurchaseOrderLineNumber"; + this.PurchaseOrderLineNumber.ReadOnly = true; + this.PurchaseOrderLineNumber.Width = 50; + // + // PurchaseOrderLineDescription + // + this.PurchaseOrderLineDescription.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.PurchaseOrderLineDescription.DataPropertyName = "PurchaseOrderLineDescription"; + this.PurchaseOrderLineDescription.FillWeight = 300F; + this.PurchaseOrderLineDescription.HeaderText = "Description"; + this.PurchaseOrderLineDescription.MinimumWidth = 242; + this.PurchaseOrderLineDescription.Name = "PurchaseOrderLineDescription"; + this.PurchaseOrderLineDescription.ReadOnly = true; + // + // PurchaseOrderLineNetAmount + // + this.PurchaseOrderLineNetAmount.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; + this.PurchaseOrderLineNetAmount.DataPropertyName = "PurchaseOrderLineNetAmount"; + this.PurchaseOrderLineNetAmount.FillWeight = 50F; + this.PurchaseOrderLineNetAmount.HeaderText = "Line Amount"; + this.PurchaseOrderLineNetAmount.MinimumWidth = 80; + this.PurchaseOrderLineNetAmount.Name = "PurchaseOrderLineNetAmount"; + this.PurchaseOrderLineNetAmount.ReadOnly = true; + this.PurchaseOrderLineNetAmount.Width = 80; + // + // InvoicedAmount + // + this.InvoicedAmount.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; + this.InvoicedAmount.DataPropertyName = "InvoicedAmount"; + this.InvoicedAmount.FillWeight = 50F; + this.InvoicedAmount.HeaderText = "Invoiced"; + this.InvoicedAmount.MinimumWidth = 80; + this.InvoicedAmount.Name = "InvoicedAmount"; + this.InvoicedAmount.ReadOnly = true; + this.InvoicedAmount.Width = 80; + // + // PurchaseOrderLineFacility + // + this.PurchaseOrderLineFacility.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; + this.PurchaseOrderLineFacility.DataPropertyName = "PurchaseOrderLineFacility"; + this.PurchaseOrderLineFacility.FillWeight = 50F; + this.PurchaseOrderLineFacility.HeaderText = "Facility"; + this.PurchaseOrderLineFacility.MinimumWidth = 80; + this.PurchaseOrderLineFacility.Name = "PurchaseOrderLineFacility"; + this.PurchaseOrderLineFacility.ReadOnly = true; + this.PurchaseOrderLineFacility.Width = 80; + // + // WorkNumber + // + this.WorkNumber.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; + this.WorkNumber.DataPropertyName = "WorkNumber"; + this.WorkNumber.HeaderText = "WorkNumber"; + this.WorkNumber.MinimumWidth = 80; + this.WorkNumber.Name = "WorkNumber"; + this.WorkNumber.ReadOnly = true; + this.WorkNumber.Width = 80; + // + // WorkTitle + // + this.WorkTitle.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.WorkTitle.DataPropertyName = "WorkTitle"; + this.WorkTitle.FillWeight = 200F; + this.WorkTitle.HeaderText = "Work Item"; + this.WorkTitle.MinimumWidth = 100; + this.WorkTitle.Name = "WorkTitle"; + this.WorkTitle.ReadOnly = true; + // // purchaseOrderAllocationBindingSource // this.purchaseOrderAllocationBindingSource.AllowNew = false; @@ -988,118 +1100,6 @@ this.statusDataGridViewTextBoxColumn.Name = "statusDataGridViewTextBoxColumn"; this.statusDataGridViewTextBoxColumn.ReadOnly = true; // - // PurchaseOrderLineID - // - this.PurchaseOrderLineID.DataPropertyName = "PurchaseOrderLineID"; - this.PurchaseOrderLineID.HeaderText = "PurchaseOrderLineID"; - this.PurchaseOrderLineID.Name = "PurchaseOrderLineID"; - this.PurchaseOrderLineID.ReadOnly = true; - this.PurchaseOrderLineID.Visible = false; - // - // ContactName - // - this.ContactName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.ContactName.DataPropertyName = "ContactName"; - this.ContactName.FillWeight = 150F; - this.ContactName.HeaderText = "Client"; - this.ContactName.MinimumWidth = 90; - this.ContactName.Name = "ContactName"; - this.ContactName.ReadOnly = true; - // - // PurchaseOrderDate - // - this.PurchaseOrderDate.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; - this.PurchaseOrderDate.DataPropertyName = "PurchaseOrderDate"; - this.PurchaseOrderDate.FillWeight = 30.59646F; - this.PurchaseOrderDate.HeaderText = "PO Date"; - this.PurchaseOrderDate.MinimumWidth = 80; - this.PurchaseOrderDate.Name = "PurchaseOrderDate"; - this.PurchaseOrderDate.ReadOnly = true; - this.PurchaseOrderDate.Width = 80; - // - // PurchaseOrderReference - // - this.PurchaseOrderReference.DataPropertyName = "PurchaseOrderReference"; - this.PurchaseOrderReference.FillWeight = 30.59646F; - this.PurchaseOrderReference.HeaderText = "PO Number"; - this.PurchaseOrderReference.MinimumWidth = 100; - this.PurchaseOrderReference.Name = "PurchaseOrderReference"; - this.PurchaseOrderReference.ReadOnly = true; - // - // PurchaseOrderLineNumber - // - this.PurchaseOrderLineNumber.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; - this.PurchaseOrderLineNumber.DataPropertyName = "PurchaseOrderLineNumber"; - this.PurchaseOrderLineNumber.FillWeight = 30.59646F; - this.PurchaseOrderLineNumber.HeaderText = "Line No"; - this.PurchaseOrderLineNumber.MinimumWidth = 50; - this.PurchaseOrderLineNumber.Name = "PurchaseOrderLineNumber"; - this.PurchaseOrderLineNumber.ReadOnly = true; - this.PurchaseOrderLineNumber.Width = 50; - // - // PurchaseOrderLineDescription - // - this.PurchaseOrderLineDescription.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.PurchaseOrderLineDescription.DataPropertyName = "PurchaseOrderLineDescription"; - this.PurchaseOrderLineDescription.FillWeight = 300F; - this.PurchaseOrderLineDescription.HeaderText = "Description"; - this.PurchaseOrderLineDescription.MinimumWidth = 242; - this.PurchaseOrderLineDescription.Name = "PurchaseOrderLineDescription"; - this.PurchaseOrderLineDescription.ReadOnly = true; - // - // PurchaseOrderLineNetAmount - // - this.PurchaseOrderLineNetAmount.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; - this.PurchaseOrderLineNetAmount.DataPropertyName = "PurchaseOrderLineNetAmount"; - this.PurchaseOrderLineNetAmount.FillWeight = 50F; - this.PurchaseOrderLineNetAmount.HeaderText = "Line Amount"; - this.PurchaseOrderLineNetAmount.MinimumWidth = 80; - this.PurchaseOrderLineNetAmount.Name = "PurchaseOrderLineNetAmount"; - this.PurchaseOrderLineNetAmount.ReadOnly = true; - this.PurchaseOrderLineNetAmount.Width = 80; - // - // InvoicedAmount - // - this.InvoicedAmount.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; - this.InvoicedAmount.DataPropertyName = "InvoicedAmount"; - this.InvoicedAmount.FillWeight = 50F; - this.InvoicedAmount.HeaderText = "Invoiced"; - this.InvoicedAmount.MinimumWidth = 80; - this.InvoicedAmount.Name = "InvoicedAmount"; - this.InvoicedAmount.ReadOnly = true; - this.InvoicedAmount.Width = 80; - // - // PurchaseOrderLineFacility - // - this.PurchaseOrderLineFacility.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; - this.PurchaseOrderLineFacility.DataPropertyName = "PurchaseOrderLineFacility"; - this.PurchaseOrderLineFacility.FillWeight = 50F; - this.PurchaseOrderLineFacility.HeaderText = "Facility"; - this.PurchaseOrderLineFacility.MinimumWidth = 80; - this.PurchaseOrderLineFacility.Name = "PurchaseOrderLineFacility"; - this.PurchaseOrderLineFacility.ReadOnly = true; - this.PurchaseOrderLineFacility.Width = 80; - // - // WorkNumber - // - this.WorkNumber.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; - this.WorkNumber.DataPropertyName = "WorkNumber"; - this.WorkNumber.HeaderText = "WorkNumber"; - this.WorkNumber.MinimumWidth = 80; - this.WorkNumber.Name = "WorkNumber"; - this.WorkNumber.ReadOnly = true; - this.WorkNumber.Width = 80; - // - // WorkTitle - // - this.WorkTitle.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.WorkTitle.DataPropertyName = "WorkTitle"; - this.WorkTitle.FillWeight = 200F; - this.WorkTitle.HeaderText = "Work Item"; - this.WorkTitle.MinimumWidth = 100; - this.WorkTitle.Name = "WorkTitle"; - this.WorkTitle.ReadOnly = true; - // // frmMain // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); diff --git a/BealeEngineering/BealeEngineering.Accounts/frmMain.cs b/BealeEngineering/BealeEngineering.Accounts/frmMain.cs index 1f26733..1a066ab 100644 --- a/BealeEngineering/BealeEngineering.Accounts/frmMain.cs +++ b/BealeEngineering/BealeEngineering.Accounts/frmMain.cs @@ -199,6 +199,12 @@ namespace BealeEngineering.Accounts private void xeroInvoiceToolStripMenuItem_Click(object sender, EventArgs e) { + string dateString = (DateTime.Now.Year - 1).ToString() + "-" + DateTime.Now.Month.ToString("00") + "-01"; + + System.Diagnostics.Process.Start( + "https://go.xero.com/AccountsReceivable/Search.aspx?graphSearch=False&startDate=" + dateString + "&dateWithin=any&pageSize=200&orderBy=InvoiceNumber&unsentOnly=False" + ); + string fileInputPath = null; using (OpenFileDialog openFileDialog = new OpenFileDialog()) diff --git a/BealeEngineering/BealeEngineering.Accounts/frmMain.resx b/BealeEngineering/BealeEngineering.Accounts/frmMain.resx index b5c5410..60754d4 100644 --- a/BealeEngineering/BealeEngineering.Accounts/frmMain.resx +++ b/BealeEngineering/BealeEngineering.Accounts/frmMain.resx @@ -132,12 +132,6 @@ 17, 63 - - 17, 63 - - - True - True @@ -156,9 +150,6 @@ 228, 63 - - 228, 63 - 93