Import invoice automatically opens Xero for export

This commit is contained in:
2020-07-08 10:15:43 +01:00
parent 3438d88076
commit 7ca73a7986
3 changed files with 136 additions and 139 deletions

View File

@@ -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);

View File

@@ -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())

View File

@@ -132,12 +132,6 @@
<metadata name="purchaseOrderBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 63</value>
</metadata>
<metadata name="purchaseOrderBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 63</value>
</metadata>
<metadata name="TotalAndCurrency.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TotalAndCurrency.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -156,9 +150,6 @@
<metadata name="projectWorkItemBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>228, 63</value>
</metadata>
<metadata name="projectWorkItemBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>228, 63</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>93</value>
</metadata>