|  | @@ -28,12 +28,15 @@ namespace PRS.Shared
 | 
	
		
			
				|  |  |          public string RecordID { get; set; } = "APIF";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(2)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
 | 
	
		
			
				|  |  |          public string Vendor { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(3)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 15)]
 | 
	
		
			
				|  |  |          public string Invoice { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(4)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 30)]
 | 
	
		
			
				|  |  |          public string Description { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(5)]
 | 
	
	
		
			
				|  | @@ -49,47 +52,55 @@ namespace PRS.Shared
 | 
	
		
			
				|  |  |          public double MiscDeduction { get; set; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(9)]
 | 
	
		
			
				|  |  | -        [Format("dd-MM-yyyy")]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterDateConverter))]
 | 
	
		
			
				|  |  |          public DateTime InvoiceDate { get; set; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(10)]
 | 
	
		
			
				|  |  | -        [Format("dd-MM-yyyy")]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterDateConverter))]
 | 
	
		
			
				|  |  |          public DateTime DateReceived { get; set; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(11)]
 | 
	
		
			
				|  |  | -        [Format("dd-MM-yyyy")]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterDateConverter))]
 | 
	
		
			
				|  |  |          public DateTime DiscountDate { get; set; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(12)]
 | 
	
		
			
				|  |  | -        [Format("dd-MM-yyyy")]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterDateConverter))]
 | 
	
		
			
				|  |  |          public DateTime PaymentDate { get; set; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(13)]
 | 
	
		
			
				|  |  | -        [Format("dd-MM-yyyy")]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterDateConverter))]
 | 
	
		
			
				|  |  |          public DateTime AccountingDate { get; set; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(14)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
 | 
	
		
			
				|  |  |          public string InvoiceCode1 { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(15)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
 | 
	
		
			
				|  |  |          public string InvoiceCode2 { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(16)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 30)]
 | 
	
		
			
				|  |  |          public string SmryPayeeName { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(17)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 33)]
 | 
	
		
			
				|  |  |          public string SmryPayeeAddress1 { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(18)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 33)]
 | 
	
		
			
				|  |  |          public string SmryPayeeAddress2 { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(19)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 15)]
 | 
	
		
			
				|  |  |          public string SmryPayeeCity { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(20)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 4)]
 | 
	
		
			
				|  |  |          public string SmryPayeeState { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(21)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
 | 
	
		
			
				|  |  |          public string SmryPayeeZip { get; set; } = "";
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -99,45 +110,58 @@ namespace PRS.Shared
 | 
	
		
			
				|  |  |          public string RecordID { get; set; } = "APDF";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(2)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 12)]
 | 
	
		
			
				|  |  |          public string Commitment { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(3)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 5)]
 | 
	
		
			
				|  |  |          public int CommitmentLineItem { get; set; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(4)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 7)]
 | 
	
		
			
				|  |  |          public string Equipment { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(5)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 6)]
 | 
	
		
			
				|  |  |          public string EQCostCode { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(6)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 6)]
 | 
	
		
			
				|  |  |          public string Job { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(7)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
 | 
	
		
			
				|  |  |          public string Extra { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(8)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 6)]
 | 
	
		
			
				|  |  |          public string CostCode { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(9)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 3)]
 | 
	
		
			
				|  |  |          public string Category { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(10)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
 | 
	
		
			
				|  |  |          public string BLStdItem { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(11)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 8)]
 | 
	
		
			
				|  |  |          public string Reserved { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(12)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 7)]
 | 
	
		
			
				|  |  |          public string ExpenseAccount { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(13)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 7)]
 | 
	
		
			
				|  |  |          public string APAccount { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(14)]
 | 
	
		
			
				|  |  |          public double TaxablePayments { get; set; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(15)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 6)]
 | 
	
		
			
				|  |  |          public string TaxGroup { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(16)]
 | 
	
	
		
			
				|  | @@ -170,15 +194,18 @@ namespace PRS.Shared
 | 
	
		
			
				|  |  |          public bool TaxablePaymentsExempt { get; set; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(25)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
 | 
	
		
			
				|  |  |          public string DistCode { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(26)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
 | 
	
		
			
				|  |  |          public string MiscEntry1 { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(27)]
 | 
	
		
			
				|  |  |          public double MiscEntryUnits1 { get; set; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(28)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
 | 
	
		
			
				|  |  |          public string MiscEntry2 { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(29)]
 | 
	
	
		
			
				|  | @@ -188,12 +215,15 @@ namespace PRS.Shared
 | 
	
		
			
				|  |  |          public double MeterOdometer { get; set; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(31)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 30)]
 | 
	
		
			
				|  |  |          public string Description { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(32)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
 | 
	
		
			
				|  |  |          public string Authorization { get; set; } = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Index(33)]
 | 
	
		
			
				|  |  | +        [TypeConverter(typeof(TimberlinePosterStringConverter), 30)]
 | 
	
		
			
				|  |  |          public string JointPayee { get; set; } = "";
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |