瀏覽代碼

Started on StockMovement timberline poster. Added timberline doc files to prs media

Kenric Nugteren 1 年之前
父節點
當前提交
b79f0b3e59

+ 15 - 1
prs.classes/Entities/Stock/StockMovement.cs

@@ -67,7 +67,7 @@ namespace Comal.Classes
 
     [UserTracking("Warehousing")]
     public class StockMovement : StockEntity, IRemotable, IPersistent, IOneToMany<StockLocation>, IOneToMany<Product>, 
-        ILicense<WarehouseLicense>, IStockHolding, IJobMaterial, IExportable, IImportable
+        ILicense<WarehouseLicense>, IStockHolding, IJobMaterial, IExportable, IImportable, IPostable
     {
         [DateTimeEditor]
         [EditorSequence(0)]
@@ -163,6 +163,20 @@ namespace Comal.Classes
         [EditorSequence(11)]
         public double Cost { get; set; } = 0.0;
 
+        [NullEditor]
+        [LoggableProperty]
+        public DateTime Posted { get; set; }
+
+        [NullEditor]
+        [LoggableProperty]
+        public PostedStatus PostedStatus { get; set; }
+
+        [NullEditor]
+        public string PostedNote { get; set; }
+
+        [NullEditor]
+        public string PostedReference { get; set; }
+
         static StockMovement()
         {
             StockEntity.LinkStockDimensions<StockMovement>();

+ 44 - 2
prs.desktop/Panels/Products/Locations/StockMovementGrid.cs

@@ -10,6 +10,7 @@ using InABox.Clients;
 using InABox.Core;
 using InABox.DynamicGrid;
 using InABox.WPF;
+using Syncfusion.UI.Xaml.Diagram.Controls;
 
 namespace PRSDesktop
 {
@@ -28,6 +29,11 @@ namespace PRSDesktop
 
         private int syscolumn = -1;
 
+        private static readonly BitmapImage? post = PRSDesktop.Resources.post.AsBitmapImage();
+        private static readonly BitmapImage? tick = PRSDesktop.Resources.tick.AsBitmapImage();
+        private static readonly BitmapImage? warning = PRSDesktop.Resources.warning.AsBitmapImage();
+        private static readonly BitmapImage? refresh = PRSDesktop.Resources.refresh.AsBitmapImage();
+
         public StockMovementGrid()
         {
             ColumnsTag = "StockMovementGrid";
@@ -55,6 +61,14 @@ namespace PRSDesktop
             HiddenColumns.Add(x => x.Batch.Type);
             HiddenColumns.Add(x => x.JobRequisitionItem.Requisition.Number);
             AllButton = AddButton("Hide System", null, ToggleAllTransations);
+
+            HiddenColumns.Add(x => x.PostedStatus);
+            HiddenColumns.Add(x => x.PostedNote);
+
+            ActionColumns.Add(new DynamicImageColumn(Posted_Image, null)
+            {
+                ToolTip = Posted_ToolTip
+            });
         }
 
         public DateTime StartDate { get; set; } = DateTime.MinValue;
@@ -86,7 +100,35 @@ namespace PRSDesktop
             return new BaseDataModel<StockMovement>(new Filter<StockMovement>(x => x.ID).InList(ids));
         }
 
-        private bool DocumentsClick(CoreRow arg)
+        private FrameworkElement? Posted_ToolTip(DynamicActionColumn column, CoreRow? row)
+        {
+            if (row is null)
+            {
+                return column.TextToolTip("Stock Movement Processed Status");
+            }
+            return column.TextToolTip(row.Get<StockMovement, PostedStatus>(x => x.PostedStatus) switch
+            {
+                PostedStatus.PostFailed => "Post failed: " + row.Get<StockMovement, string>(x => x.PostedNote),
+                PostedStatus.RequiresRepost => "Repost required: " + row.Get<StockMovement, string>(x => x.PostedNote),
+                PostedStatus.Posted => "Processed",
+                PostedStatus.NeverPosted or _ => "Not posted yet",
+            });
+        }
+
+        private BitmapImage? Posted_Image(CoreRow? row)
+        {
+            if (row is null)
+                return post;
+            return row.Get<StockMovement, PostedStatus>(x => x.PostedStatus) switch
+            {
+                PostedStatus.PostFailed => warning,
+                PostedStatus.Posted => tick,
+                PostedStatus.RequiresRepost => refresh,
+                PostedStatus.NeverPosted or _ => null,
+            };
+        }
+
+        private bool DocumentsClick(CoreRow? arg)
         {
             if (arg == null || arg.Get<StockMovement, int>(x => x.Documents) == 0)
                 return false;
@@ -117,7 +159,7 @@ namespace PRSDesktop
             return false;
         }
 
-        private BitmapImage DocumentsImage(CoreRow arg)
+        private BitmapImage? DocumentsImage(CoreRow? arg)
         {
             if (arg == null)
                 return docs;

+ 4 - 0
prs.desktop/Panels/Products/Movements/StockMovementPanel.xaml.cs

@@ -30,6 +30,10 @@ public partial class StockMovementPanel : UserControl, IPanel<StockMovement>
 
     public void CreateToolbarButtons(IPanelHost host)
     {
+        PostUtils.CreateToolbarButtons(host,
+            () => (DataModel(Selection.Selected) as IDataModel<StockMovement>)!,
+            () => Movements.Refresh(false, true),
+            true);
     }
 
     public string SectionName => Movements.SectionName;

+ 126 - 0
prs.media/TimberlineExportFiles/Adjustment Export - Feb 23.csv

@@ -0,0 +1,126 @@
+GL,28/02/2023,28/02/2023,"P117 5mm Glazing Wedge 100m ",71.745,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"P40 6mm Glazing Wedge 200m R",212.85627403125,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"P41/18 Small Wedge 500m Roll",-81.57,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"P40/40  10mm Partition (Com1",-59.3883628571429,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"P94 6mm Glazing Channel 100m",135.15,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"300261 Urban 580SW SG ROLLER",30.66,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"RAG-T COLOURED T-SHIRT X 15 ",257.1826625387,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"CRC5005 CRC 5.56 400G AEROSO",-33.9358400357799,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"Cutting Disc A24R-Bf 125 x 2",31.14,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"DIE TAPS 1/4" TAPER BSW",15.94,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"DIE TAPS 5/16" TAPER BSW",15.37,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"DIE TAPS 5MM X .8 TAPER",-106.000913582888,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"DIE TAPS 6MM X 1 TAPER",-9.51818333333333,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"DIE TAPS 8MM X 1.25MM",-59.754284,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"300492 - DRAIN BLOCK 2 PT MS",-7.59105099999999,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"DUST/MIST RESPIRATORS CLASS ",-48.475,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"LL-1 EAR PLUGS - LASER-LITE ",-53.3569880952381,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"FS2C FLYSCREEN CORNER STAKE ",-152,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"GLAZING BLOCK 10 X 5",-14.8888695652174,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"GLAZING BLOCK 12 X 10",66.0392727272727,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"GLAZING BLOCK 14 X 12",-41.3993065346084,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"GRINDING DISC 100 X 6 X 16",1.4253,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"GRINDING DISC 125 X 6 X 22",-8.65,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"GRINDING WHEEL AC46  100 X 3",40.2064,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"HACKSAW BLADES 18 TEETH",5.68,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"HEX HEAD DRIVE SOCKET 1/4" P",10.4382,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"HEX HEAD DRIVE SOCKET 3/8 09",12.7089658857143,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"HEX HEAD DRIVE SOCKET 5/16 0",-15.6340678681319,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"HORSESHOE PACKERS 3 MM",-72.852313909781,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"HORSESHOE PACKERS 5 MM",-63.9011868131868,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"MASKING TAPE 24 MM X 50 MR R",-8.3083,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"MASONARY DRILL BIT 12 MM",43.42,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"MASONARY DRILL BIT 6.5 MM (C",131.8,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"MASONARY DRILL BIT 8 MM (Cod",47.3,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"POLY ROD ORANGE 10MM X 200M ",-89.27,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"POLYFLASH 150 MM X 20 MR ROL",-64.4,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"POP RIVET 72AS 4.4-CSK Head",-13.3,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"POP RIVET 72AS 5.6-CSK head",126.36,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"POP RIVET 73AS 4.4-Dome head",-162.96,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"POP RIVET 73AS 5.6-Dome head",-31.6,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"POP RIVET 73AS 4.4-Dome Head",-103.053801880023,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"PROTECTION TAPE BLACK 24 MM ",-40.29,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"PROTECTION TAPE BLACK 96 MM ",-28.5,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"PROTECTION TAPE LOW TACK WHI",111.320470708331,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"PROTECTION TAPE LOW TACK WHI",372.715732933233,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S Hex Set Screw M6 x 20",-16,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S Hex Set Screw M8 X 50",-39.2,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S M/T CSK 3/16 X 1/2 XR",42.12,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S M/T CSK 3/16 X 5/8 XR",-10.5302691511387,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S M/T CSK 3/16 X 3/4 XR",-91.3724862038828,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S M/T CSK 3/16 X 1.1/2 XR",-39.82095,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S M/T CSK 3/16 X 2 XR",-29,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S M/T CSK 5 X 12 XR",-3.47,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S M/T CSK 5 X 16 XR",-13.02,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S M/T CSK 5 X 25 XR",1.4625,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S NUTS 5MM",-11.6,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S NUTS 6MM",-9.6,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S NUTS 8MM",-25.75,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S NUTS DOME 12MM",113.46,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S WASHERS FLAT 6MM",-11.34,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S WASHERS FLAT 8MM",-14.3,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S WASHERS FLAT 10MM",-21.4368,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S WASHERS FLAT 12MM",-108.162381144781,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S WASHERS SPRING 6MM",-17.5494217687075,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S WASHERS SPRING 8MM",-36.48,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S WASHERS SPRING 10MM",-22.8,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SANDING BELT  25x 533 x 120 ",-47.9904761904762,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SCREW TIP NO 1 SQUARE DRIVE ",-28.44,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SLOT DRILLS 1/16 LONG SERIES",47.1,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SPRAY-BOTT SPRAY BOTTLES PLA",22.3014285714286,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST PH 6 X 1/2 SQ D",-40.8,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST PH 6 X 3/4 SQ D",-35,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST PH 8 X 1/2 SQ D",-20.3683333333333,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST PH 8 X 1.1/2 SQ",94.1625,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST PH 8 X 2 SQ DRI",-65.277380952381,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST PH 10 X 1/2 SQ ",-51.2,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST PH 10 X 3/4 SQ ",-87.2428571428571,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST PH 10 X 1.1/2 S",129.36,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST PH 10 X 2 SQ DR",-26.0272355555556,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST CSK 6 X 1/2 SQ ",43.2,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST CSK 8 X 3/4 SQ ",-40.18,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST CSK 10 X 1 SQ D",152.572729417315,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST CSK 10 X 2 SQ D",-46.9,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST CSK U/Cut 10 X ",-88.074,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 10MM",-58.1221609756098,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 11MM",-11.471,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 7/64 LONG SERIES",-28.4517,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 2MM",10.86165,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 3.5MM",-112.261261112681,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 4.5MM",-24.7523654122295,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 5.5MM",29.44197,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 5MM",-80.0376393442623,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 6.5MM",-62.714,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 7MM",-103.152581818182,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 8.5MM",-88.0259251948052,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 8MM",-84.2503739279589,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BITS 5/32 LONG SERIES ",-21.838,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BITS 17/64"",8.1924,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BITS 1/8 LONG SERIES",-97.7792383901456,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"TREFOLUX 500ML",-25.91,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"300147 TURN STOP",-230.325,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"WALL PLUG GREEN 6.5 x 50MM",-89.0129194214876,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"WALL PLUG RED",-0.6594,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"PROCHOICE Hard Hat Browguard",-10.13,Empty GL Code,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"DIE TAP 4MM X 0.7 TAPER (Cod",-44.72,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"POP RIVET 73AS 4.2-Dome head",-14.4,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST CSK 10 X 1.1/2 ",92.537,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S Hex Set Screw M10 x 60 G",184.32,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"POP RIVET 73AS 4.6-Dome Head",-275,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"M10 x 3Mtr Zinc Threaded Rod",-39.4626579231617,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"25-ETCHP Etch Primer CRL 300",-28.2333333333333,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST CSK 8 X 1.1/2 S",-54.97,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SAFETY GLASSES SMOKE ANTI FO",-23.4066086956522,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST CSK 10X16 (5/8)",-15.6,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"HEXFIX TR-68 SANITARY SILICO",-6.9255,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SDS Metal Screw G550 Wafer 1",660,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S M/T CSK 3/16 X 1/4 XR",-53.3903574444132,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"HEXFIX TR-58 MATT BLACK GLAS",92.7495194827578,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"HEXFIX TR-58 TRANSLUCENT SAN",-4.57543209876543,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 3.5m LONG SERIERS",-39.438,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"POP RIVET 73AS 4.2-Dome head",-96,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"STEEL BIT 4mm Long Series",6.69,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"S/S M/T PAN M4x12 G304 XR",-37.2,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"SS SCREWS ST PH 6 X 5/8 SQ D",-77,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"C013-10035 M10 X 35 G304 Hex",-61.9,10-00-1130.00,10-50-4610.00,,
+GL,28/02/2023,28/02/2023,"5658 Scraper Blades-Bulk 100",-69.6,10-00-1130.00,10-50-4610.00,,

+ 54 - 0
prs.media/TimberlineExportFiles/Change order layout.pdf

@@ -0,0 +1,54 @@
+Commitment change order                                                                                      Page 1 of 1
+
+Commitment change order
+
+Items required to be entered are marked as such in the Comment column.
+
+No. Type                 Length Item                                    Comment
+                                                                        required, must be CCO
+1   alpha                3    record ID                                 required
+                                                                        required
+2   alpha                12   commitment ID
+                                                                        if blank, uses system date
+3   alpha                5    commitment CO ID                          see alpha item
+                                                                        1 = not issued 2 = pending
+4   alpha                30   description                               5 = approved 6 = denied
+
+5   check box            5    printed                                   link to change order for this job
+                                                                        link to change order for this extra
+6   date                 10   date                                      required if job link entered
+                                                                        see About field types
+7   alpha                15   type
+
+8   alpha                380  scope
+
+9   option button        1    status
+
+10  alpha                30   prepared by
+
+11  check box            5    verbal notice received
+
+12  alpha                30   notice received from
+
+13  date                 10   date notice received
+
+14  check box            5    written notice received
+
+15  alpha                30   notice received from
+
+16  date                 10   date notice received
+
+17  alpha                10   job
+
+18  alpha                10   extra (if applicable)
+
+19  alpha                5    change order
+
+20-up varies             varies 1 - 250 custom fields
+
+ More resources
+You can visit Sage City to join product discussions, search articles in the Sage knowledgebase, or chat online with an expert.
+For additional training on Sage products, visit Sage University.
+
+mk:@MSITStore:C:\Program%20Files%20(x86)\Timberline%20Office\Shared\Help\JC.... 29/08/2023
+

+ 248 - 0
prs.media/TimberlineExportFiles/Consume Direct Cost -Ali Sheet, Extrusion, Rubber, glass, Consumable Jul 23.csv

@@ -0,0 +1,248 @@
+DC,2819,,10.160,M,5,06/07/2023,06/07/2023,"HEXFIX TR-58 MATT BLACK GLAS",20,5.6205,112.411,,10-00-1130.00,,,
+DC,2869,,10.160,M,5,06/07/2023,06/07/2023,"STEEL BIT 3.5MM",2,1.9490,3.8979,,10-00-1130.00,,,
+DC,2869,,10.160,M,5,06/07/2023,06/07/2023,"STEEL BIT 3MM",2,1.5220,3.044,,10-00-1130.00,,,
+DC,2819,,10.160,M,5,06/07/2023,06/07/2023,"PROTECTION TAPE BLACK 24 MM ",2,2.3700,4.74,,10-00-1130.00,,,
+DC,2819,3M,10.160,M,5,06/07/2023,06/07/2023,"PVC TAPE RED 25 MM X 66 MR R",6,3.9700,23.82,,10-00-1130.00,,,
+DC,2819,,10.160,M,5,06/07/2023,06/07/2023,"SIL-SPAT SILICONE SCRAPER",4,3.8599,15.4394,,10-00-1130.00,,,
+DC,2839,,10.160,M,5,06/07/2023,06/07/2023,"STEEL BITS 5/32 LONG SERIES ",1,7.3863,7.3863,,10-00-1130.00,,,
+DC,2819,,10.160,M,5,06/07/2023,06/07/2023,"PROTECTION TAPE LOW TACK WHI",2,10.9000,21.8,,10-00-1130.00,,,
+DC,2881,3M,10.160,M,5,06/07/2023,06/07/2023,"STEEL BIT 10MM",1,12.2626,12.2626,,10-00-1130.00,,,
+DC,2881,3M,10.160,M,5,06/07/2023,06/07/2023,"STEEL BIT 6.5MM",1,4.6528,4.6528,,10-00-1130.00,,,
+DC,2767,,10.160,M,5,06/07/2023,06/07/2023,"METHO Methylated Spirits 1lt",1,6.1900,6.19,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,06/07/2023,06/07/2023,"PROTECTION TAPE BLACK 48 MM ",1,4.9100,4.91,,10-00-1130.00,,,
+DC,2869,,10.160,M,5,06/07/2023,06/07/2023,"SAFETY GLASSES CLEAR VX-001",12,2.0903,25.0833,,10-00-1130.00,,,
+DC,2881,3M,10.160,M,5,06/07/2023,06/07/2023,"DIE TAPS 3/16in TAPER BSW",1,19.9503,19.9503,,10-00-1130.00,,,
+DC,2881,3M,10.160,M,5,06/07/2023,06/07/2023,"PHILLIPS HD P2 TIP X 100 MM",2,2.1000,4.2,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,06/07/2023,06/07/2023,"PROTECTION TAPE LOW TACK WHI",2,10.9000,21.8,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.165,M,5,06/07/2023,06/07/2023,"SS SCREWS ST PH 10 X 1.1/2 S",100,0.1195,11.9544,,10-00-1130.00,,,
+DC,2881,3M,10.160,M,5,06/07/2023,06/07/2023,"PROTECTION TAPE LOW TACK WHI",1,10.9000,10.9,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,06/07/2023,06/07/2023,"PROTECTION TAPE LOW TACK WHI",1,6.1845,6.1845,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,06/07/2023,06/07/2023,"PROTECTION TAPE LOW TACK WHI",2,10.9000,21.8,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,06/07/2023,06/07/2023,"PROTECTION TAPE BLACK 48 MM ",2,4.9100,9.82,,10-00-1130.00,,,
+DC,2881,3M,10.160,M,5,06/07/2023,06/07/2023,"CRC5005 CRC 5.56 400G AEROSO",1,6.7136,6.7136,,10-00-1130.00,,,
+DC,2740,Lot 3,10.160,M,5,06/07/2023,06/07/2023,"DIE TAPS 3/16in TAPER BSW",2,19.9503,39.9007,,10-00-1130.00,,,
+DC,2740,Lot 3,10.160,M,5,06/07/2023,06/07/2023,"STEEL BIT 3.5MM",2,1.9490,3.8979,,10-00-1130.00,,,
+DC,2740,Lot 3,10.165,M,5,06/07/2023,06/07/2023,"S/S M/T CSK 3/16 X 1/2 XR",100,0.0510,5.1,,10-00-1130.00,,,
+DC,2885,2E,10.165,M,5,06/07/2023,06/07/2023,"S/S M/T CSK 3/16 X 1/4 XR",200,0.0798,15.96,,10-00-1130.00,,,
+DC,2819,,10.160,M,5,06/07/2023,06/07/2023,"PROTECTION TAPE BLACK 24 MM ",3,2.3700,7.11,,10-00-1130.00,,,
+DC,2819,,10.160,M,5,06/07/2023,06/07/2023,"CRC5005 CRC 5.56 400G AEROSO",1,6.7136,6.7136,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,06/07/2023,06/07/2023,"PROTECTION TAPE BLACK 24 MM ",1,2.3700,2.37,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,06/07/2023,06/07/2023,"PROTECTION TAPE LOW TACK WHI",2,10.9000,21.8,,10-00-1130.00,,,
+DC,2819,,10.160,M,5,06/07/2023,06/07/2023,"STEEL BIT 4mm Long Series",1,7.8130,7.813,,10-00-1130.00,,,
+DC,2881,1E,10.160,M,5,06/07/2023,06/07/2023,"PROTECTION TAPE BLACK 24 MM ",1,2.3700,2.37,,10-00-1130.00,,,
+GL,06/07/2023,06/07/2023,"PROTECTION TAPE BLACK 48 MM ",4.91,10-40-6190.00,10-00-1130.00,,,,,,,,,,
+DC,2881,3M,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE BLACK 48 MM ",4,4.9100,19.64,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,19/07/2023,19/07/2023,"PVC TAPE RED 25 MM X 66 MR R",3,3.9700,11.91,,10-00-1130.00,,,
+DC,2881,3M,10.160,M,5,19/07/2023,19/07/2023,"CRC5005 CRC 5.56 400G AEROSO",1,6.7136,6.7136,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,19/07/2023,19/07/2023,"HEXFIX TR-58 MATT BLACK GLAS",1,5.6205,5.6205,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,19/07/2023,19/07/2023,"HEXFIX TR-58 MATT BLACK GLAS",20,5.6205,112.411,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",2,6.1845,12.3689,,10-00-1130.00,,,
+DC,2838,,10.165,M,5,19/07/2023,19/07/2023,"SS SCREWS ST PH 10 X 1.1/2 S",500,0.1195,59.7722,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,19/07/2023,19/07/2023,"SIL-SPAT SILICONE SCRAPER",10,3.8599,38.5985,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",2,10.9000,21.8,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",1,13.0250,13.025,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",1,15.6186,15.6186,,10-00-1130.00,,,
+DC,2885,3Y,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",5,6.1845,30.9224,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,19/07/2023,19/07/2023,"SAFETY GLASSES CLEAR VX-001",1,2.0903,2.0903,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.165,M,5,19/07/2023,19/07/2023,"SS SCREWS ST CSK 10 X 2 SQ D",500,0.0938,46.9,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"STEEL BIT 5.5MM",2,3.2713,6.5427,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,19/07/2023,19/07/2023,"HEXFIX TR-58 MATT BLACK GLAS",20,5.6205,112.411,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,19/07/2023,19/07/2023,"METHO Methylated Spirits 1lt",1,6.1900,6.19,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",2,15.6186,31.2371,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,19/07/2023,19/07/2023,"RAG-T COLOURED T-SHIRT X 15 ",1,39.1016,39.1016,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"HEXFIX TR-58 TRANSLUCENT GLA",20,5.1958,103.915,,10-00-1130.00,,,
+DC,2885,2E,10.165,M,5,19/07/2023,19/07/2023,"SS SCREWS ST CSK 10 X 2.1/2 ",500,0.2024,101.213,,10-00-1130.00,,,
+GL,19/07/2023,19/07/2023,"PROTECTION TAPE BLACK 48 MM ",19.64,10-40-6190.00,10-00-1130.00,,,,,,,,,,
+GL,19/07/2023,19/07/2023,"PROTECTION TAPE BLACK 96 MM ",9.5,10-40-6190.00,10-00-1130.00,,,,,,,,,,
+DC,2838,,10.165,M,5,19/07/2023,19/07/2023,"SS SCREWS ST PH 10 X 1.1/2 S",100,0.1195,11.9544,,10-00-1130.00,,,
+DC,2838,,10.165,M,5,19/07/2023,19/07/2023,"SS SCREWS ST CSK 10 X 1.1/2 ",100,0.0759,7.585,,10-00-1130.00,,,
+DC,2740,Lot 3,10.160,M,5,19/07/2023,19/07/2023,"HEXFIX TR-58 MATT BLACK GLAS",20,5.6205,112.411,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",6,10.9000,65.4,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE BLACK 48 MM ",1,4.9100,4.91,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",1,10.9000,10.9,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",1,6.1845,6.1845,,10-00-1130.00,,,
+DC,2885,2E,10.165,M,5,19/07/2023,19/07/2023,"S/S M/T CSK 3/16 X 1/4 XR",100,0.0798,7.98,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"DIE TAPS 3/16in TAPER BSW",2,19.9503,39.9007,,10-00-1130.00,,,
+DC,2885,2E,10.165,M,5,19/07/2023,19/07/2023,"SS SCREWS ST PH 10 X 1 SQ DR",250,0.0757,18.9321,,10-00-1130.00,,,
+DC,2885,2E,10.165,M,5,19/07/2023,19/07/2023,"SS SCREWS ST PH 10 X 1/2 SQ ",500,0.0512,25.6,,10-00-1130.00,,,
+GL,19/07/2023,19/07/2023,"SAFETY GLASSES CLEAR VX-001",2.0903,10-40-6285.00,10-00-1130.00,,,,,,,,,,
+DC,2838,,10.160,M,5,19/07/2023,19/07/2023,"1146 Premium Masking Tape Bl",10,14.6000,146,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",2,6.1845,12.3689,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",1,13.0250,13.025,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"SIL-SPAT SILICONE SCRAPER",2,3.8599,7.7197,,10-00-1130.00,,,
+GL,19/07/2023,19/07/2023,"SAFETY GLASSES SMOKE ANTI FO",2.1279,10-40-6285.00,10-00-1130.00,,,,,,,,,,
+DC,2740,Lot 2B,10.160,M,5,19/07/2023,19/07/2023,"METHO Methylated Spirits 1lt",1,6.1900,6.19,,10-00-1130.00,,,
+GL,19/07/2023,19/07/2023,"PROTECTION TAPE BLACK 48 MM ",14.73,10-40-6190.00,10-00-1130.00,,,,,,,,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"Cutting Disc 125x22x1mm",1,2.6196,2.6196,,10-00-1130.00,,,
+DC,2885,1A,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",2,10.9000,21.8,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,19/07/2023,19/07/2023,"HORSESHOE PACKERS 5 MM",50,0.1235,6.1754,,10-00-1130.00,,,
+DC,2885,1A,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE BLACK 48 MM ",2,4.9100,9.82,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"HEXFIX TR-58 MATT BLACK GLAS",20,5.6205,112.411,,10-00-1130.00,,,
+GL,19/07/2023,19/07/2023,"PROTECTION TAPE BLACK 48 MM ",4.91,10-40-6190.00,10-00-1130.00,,,,,,,,,,
+DC,2885,2E,10.165,M,5,19/07/2023,19/07/2023,"SS SCREWS ST PH 10 X 1.1/2 S",250,0.1195,29.8861,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"PVC TAPE RED 25 MM X 66 MR R",3,3.9700,11.91,,10-00-1130.00,,,
+GL,19/07/2023,19/07/2023,"PROTECTION TAPE BLACK 48 MM ",4.91,10-40-6190.00,10-00-1130.00,,,,,,,,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"HEXFIX TR-58 TRANSLUCENT GLA",3,5.1958,15.5873,,10-00-1130.00,,,
+DC,2885,2E,10.165,M,5,19/07/2023,19/07/2023,"S/S M/T CSK 3/16 X 1/4 XR",200,0.0798,15.96,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"PROTECTION TAPE LOW TACK WHI",2,10.9000,21.8,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"HEXFIX TR-58 TRANSLUCENT GLA",5,5.1958,25.9788,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,19/07/2023,19/07/2023,"SS SCREWS ST CSK 10 X 2.1/2 ",250,0.2024,50.6066,,10-00-1130.00,,,
+DC,2823,,10.060,M,5,31/07/2023,31/07/2023,"6.58mm Low E Clear Laminated",4,187.5781,750.312,,10-00-1126.00,,,
+DC,2740,Lot 1A,10.060,M,5,31/07/2023,31/07/2023,"6.38mm Clear Laminated 2140x",5,137.0700,685.35,,10-00-1126.00,,,
+DC,2740,Lot 2B,10.060,M,5,31/07/2023,31/07/2023,"6.38mm Clear Laminated 2140x",10,137.0700,1370.7,,10-00-1126.00,,,
+DC,2885,1A,10.010,M,5,31/07/2023,31/07/2023,"1.6mm Al Flat Sheet 3600x150",6,186.9420,1121.65,,10-00-1127.00,,,
+DC,2885,2E,10.010,M,5,31/07/2023,31/07/2023,"1.6mm Al Flat Sheet 3600x150",3,186.9420,560.826,,10-00-1127.00,,,
+DC,2885,1A,10.010,M,5,31/07/2023,31/07/2023,"3mm Al Sheet 2400 X 1200",14,179.1882,2508.63,,10-00-1127.00,,,
+DC,2740,Lot 2B,10.010,M,5,31/07/2023,31/07/2023,"3mm Al Sheet 2400 X 1200",21,179.1882,3762.95,,10-00-1127.00,,,
+DC,2885,1A,10.010,M,5,31/07/2023,31/07/2023,"3mm Al Sheet 2400 X 1500",16,228.2127,3651.4,,10-00-1127.00,,,
+DC,2885,2E,10.010,M,5,31/07/2023,31/07/2023,"3mm Al Sheet 2400 X 1500",8,228.2127,1825.7,,10-00-1127.00,,,
+DC,2740,Lot 2B,10.010,M,5,31/07/2023,31/07/2023,"3mm Al Sheet 3000x1500",31,265.6039,8233.72,,10-00-1127.00,,,
+DC,2881,3M,10.160,M,5,30/07/2023,30/07/2023,"PROTECTION TAPE BLACK 48 MM ",4,4.9100,19.64,,10-00-1130.00,,,
+GL,30/07/2023,30/07/2023,"PROTECTION TAPE BLACK 48 MM ",4.91,10-40-6190.00,10-00-1130.00,,,,,,,,,,
+DC,2885,2E,10.165,M,5,30/07/2023,30/07/2023,"SS SCREWS ST CSK 10 X 2 SQ D",250,0.0938,23.45,,10-00-1130.00,,,
+DC,2885,2E,10.165,M,5,30/07/2023,30/07/2023,"SS SCREWS ST PH 10 X 1.1/2 S",250,0.1195,29.8861,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,30/07/2023,30/07/2023,"PROTECTION TAPE BLACK 48 MM ",2,4.9100,9.82,,10-00-1130.00,,,
+DC,2885,1A,10.160,M,5,30/07/2023,30/07/2023,"PROTECTION TAPE LOW TACK WHI",1,6.1845,6.1845,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,30/07/2023,30/07/2023,"PVC TAPE RED 25 MM X 66 MR R",4,3.9700,15.88,,10-00-1130.00,,,
+DC,2885,1A,10.165,M,5,30/07/2023,30/07/2023,"SS SCREWS ST PH 10 X 1 SQ DR",500,0.0757,37.8642,,10-00-1130.00,,,
+DC,2885,1A,10.160,M,5,30/07/2023,30/07/2023,"PVC TAPE RED 25 MM X 66 MR R",3,3.9700,11.91,,10-00-1130.00,,,
+DC,2885,1A,10.160,M,5,30/07/2023,30/07/2023,"PROTECTION TAPE BLACK 48 MM ",1,4.9100,4.91,,10-00-1130.00,,,
+DC,2885,1A,10.160,M,5,30/07/2023,30/07/2023,"PROTECTION TAPE BLACK 24 MM ",1,2.3700,2.37,,10-00-1130.00,,,
+DC,2885,1A,10.160,M,5,30/07/2023,30/07/2023,"PROTECTION TAPE LOW TACK WHI",1,6.1845,6.1845,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,30/07/2023,30/07/2023,"PROTECTION TAPE BLACK 48 MM ",1,4.9100,4.91,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,30/07/2023,30/07/2023,"PVC TAPE RED 25 MM X 66 MR R",1,3.9700,3.97,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.165,M,5,30/07/2023,30/07/2023,"SS SCREWS ST CSK 8 X 1 SQ DR",250,0.0528,13.1914,,10-00-1130.00,,,
+DC,2823,,10.165,M,5,30/07/2023,30/07/2023,"SS SCREWS ST PH 10 X 1.1/2 S",250,0.1195,29.8861,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,30/07/2023,30/07/2023,"STEEL BIT 3MM",2,1.5220,3.044,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,30/07/2023,30/07/2023,"POLY ROD ORANGE 16 MM X 150 ",2,95.3000,190.6,,10-00-1130.00,,,
+DC,2881,1E,10.165,M,5,30/07/2023,30/07/2023,"HEXFIX TR-58 MATT BLACK GLAS",20,5.6205,112.411,,10-00-1130.00,,,
+DC,2753,,10.160,M,5,30/07/2023,30/07/2023,"SILICONE STRUCTURAL 795 BLAC",60,14.5000,870,,10-00-1130.00,,,
+DC,2753,,10.160,M,5,30/07/2023,30/07/2023,"1146 Premium Masking Tape Bl",24,14.6000,350.4,,10-00-1130.00,,,
+DC,2823,,10.160,M,5,30/07/2023,30/07/2023,"HORSESHOE PACKERS 10 MM",300,0.1415,42.441,,10-00-1130.00,,,
+DC,2823,,10.160,M,5,30/07/2023,30/07/2023,"HORSESHOE PACKERS 3 MM",300,0.0551,16.5433,,10-00-1130.00,,,
+DC,2823,,10.160,M,5,30/07/2023,30/07/2023,"HORSESHOE PACKERS 5 MM",400,0.1235,49.4034,,10-00-1130.00,,,
+DC,2823,,10.160,M,5,30/07/2023,30/07/2023,"PROTECTION TAPE LOW TACK WHI",2,13.0250,26.05,,10-00-1130.00,,,
+DC,2823,,10.160,M,5,30/07/2023,30/07/2023,"STEEL BITS 1/8 LONG SERIES",2,6.2180,12.436,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,30/07/2023,30/07/2023,"FBROR-29 POLY ROD ORANGE 29M",5,101.1100,505.55,,10-00-1130.00,,,
+DC,2753,,10.160,M,5,30/07/2023,30/07/2023,"HEXFIX TR-58 TRANSLUCENT GLA",4,5.1958,20.7831,,10-00-1130.00,,,
+DC,2885,1A,10.160,M,5,30/07/2023,30/07/2023,"STEEL BITS 3/16 LONG SERIES",2,7.6409,15.2818,,10-00-1130.00,,,
+DC,2885,1A,10.160,M,5,30/07/2023,30/07/2023,"SILICONE STRUCTURAL 795 BLAC",300,14.5000,4350,,10-00-1130.00,,,
+DC,2885,1A,10.160,M,5,30/07/2023,30/07/2023,"HORSESHOE PACKERS 10 MM",500,0.1415,70.735,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,30/07/2023,30/07/2023,"HORSESHOE PACKERS 1.5 MM",40,0.0540,2.1589,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,30/07/2023,30/07/2023,"HORSESHOE PACKERS 1.5 MM",40,0.0540,2.1589,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,30/07/2023,30/07/2023,"HORSESHOE PACKERS 10 MM",500,0.1415,70.735,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,30/07/2023,30/07/2023,"HORSESHOE PACKERS 3 MM",300,0.0551,16.5433,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,30/07/2023,30/07/2023,"HORSESHOE PACKERS 5 MM",300,0.1235,37.0526,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,30/07/2023,30/07/2023,"MASKING TAPE 48 MM X 50 MR R",24,4.2682,102.437,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,30/07/2023,30/07/2023,"RAG-T COLOURED T-SHIRT X 15 ",1,38.4190,38.419,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,30/07/2023,30/07/2023,"WALL PLUG GREEN 6.5 x 50MM",100,0.0604,6.042,,10-00-1130.00,,,
+DC,2740,Lot 1A,10.160,M,5,30/07/2023,30/07/2023,"RAG-T COLOURED T-SHIRT X 15 ",1,38.4190,38.419,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,30/07/2023,30/07/2023,"HORSESHOE PACKERS 1.5 MM",3200,0.0540,172.712,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,30/07/2023,30/07/2023,"HORSESHOE PACKERS 3 MM",2400,0.0551,132.346,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,30/07/2023,30/07/2023,"HORSESHOE PACKERS 5 MM",1600,0.1235,197.614,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,30/07/2023,30/07/2023,"WALL PLUG GREEN 6.5 x 50MM",100,0.0604,6.042,,10-00-1130.00,,,
+DC,2819,,10.160,M,5,30/07/2023,30/07/2023,"GLAZING BLOCK 12 X 10",300,0.1291,38.7222,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,20/07/2023,20/07/2023,"HORSESHOE PACKERS 1.5 MM",400,0.0540,21.589,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,20/07/2023,20/07/2023,"HORSESHOE PACKERS 10 MM",400,0.1415,56.588,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,20/07/2023,20/07/2023,"HORSESHOE PACKERS 3 MM",600,0.0551,33.0865,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,20/07/2023,20/07/2023,"HORSESHOE PACKERS 5 MM",600,0.1235,74.1051,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,20/07/2023,20/07/2023,"MASONRY DRILL BIT 10 MM",6,16.7300,100.38,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,20/07/2023,20/07/2023,"STEEL BIT 10MM",6,12.2626,73.5754,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,20/07/2023,20/07/2023,"STEEL BIT 6.5MM",10,4.9661,49.6612,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,20/07/2023,20/07/2023,"STEEL BIT 8MM",6,6.0603,36.3619,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,20/07/2023,20/07/2023,"STEEL BITS 1/8in",10,1.8649,18.6487,,10-00-1130.00,,,
+DC,2823,,10.160,M,5,20/07/2023,20/07/2023,"RAG-T COLOURED T-SHIRT X 15 ",1,38.4190,38.419,,10-00-1130.00,,,
+DC,2823,,10.160,M,5,20/07/2023,20/07/2023,"Cutting Disc 125x22x1mm",25,2.6196,65.4898,,10-00-1130.00,,,
+DC,2881,1E,10.165,M,5,20/07/2023,20/07/2023,"S/S WASHERS SPRING 8MM",100,0.0394,3.944,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,20/07/2023,20/07/2023,"HORSESHOE PACKERS 10 MM",800,0.1415,113.176,,10-00-1130.00,,,
+DC,2838,,10.160,M,5,20/07/2023,20/07/2023,"HEXFIX TR-58 MATT BLACK GLAS",20,5.6205,112.411,,10-00-1130.00,,,
+DC,2838,,10.140,M,5,20/07/2023,20/07/2023,"GLAZING BLOCK 12 X 10",50,0.1291,6.4537,,10-00-1130.00,,,
+DC,2881,1E,10.165,M,5,20/07/2023,20/07/2023,"S/S NUTS 16MM",50,0.5539,27.6954,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,20/07/2023,20/07/2023,"PHILLIPS HD P2 TIP X 100 MM",20,2.1000,42,,10-00-1130.00,,,
+DC,2885,1A,10.165,M,5,20/07/2023,20/07/2023,"S/S Hex Set Screw M6 x 20",300,0.1600,48,,10-00-1130.00,,,
+DC,2885,1A,10.165,M,5,20/07/2023,20/07/2023,"S/S WASHERS FLAT 6MM",300,0.0162,4.86,,10-00-1130.00,,,
+DC,2885,1A,10.165,M,5,20/07/2023,20/07/2023,"S/S WASHERS SPRING 6MM",300,0.0195,5.8498,,10-00-1130.00,,,
+DC,2885,1A,10.160,M,5,20/07/2023,20/07/2023,"SAFETY GLASSES CLEAR VX-001",10,2.0903,20.9028,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,20/07/2023,20/07/2023,"Cutting Disc 125x22x1mm",25,2.6196,65.4898,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,20/07/2023,20/07/2023,"GRINDING DISC 125 X 6 X 22",4,1.8800,7.52,,10-00-1130.00,,,
+DC,2878,,10.160,M,5,20/07/2023,20/07/2023,"MASKING TAPE 48 MM X 50 MR R",3,4.2682,12.8046,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,20/07/2023,20/07/2023,"MASONRY DRILL BIT 10 MM",4,16.7300,66.92,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,20/07/2023,20/07/2023,"RAG-T COLOURED T-SHIRT X 15 ",1,38.4190,38.419,,10-00-1130.00,,,
+DC,2885,2E,10.160,M,5,20/07/2023,20/07/2023,"SILICONE STRUCTURAL 795 BLAC",200,14.5000,2900,,10-00-1130.00,,,
+DC,2885,3Y,10.160,M,5,20/07/2023,20/07/2023,"PROTECTION TAPE BLACK 48 MM ",3,4.9100,14.73,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.165,M,5,20/07/2023,20/07/2023,"SDS Hex Head S/Steel Metal S",200,0.6822,136.434,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.165,M,5,20/07/2023,20/07/2023,"SDS Hex Head S/Steel Metal S",300,0.6822,204.651,,10-00-1130.00,,,
+DC,2819,,10.160,M,5,20/07/2023,20/07/2023,"SILICONE STRUCTURAL 795 BLAC",100,14.5000,1450,,10-00-1130.00,,,
+DC,2819,,10.165,M,5,20/07/2023,20/07/2023,"SS SCREWS ST PH 10 X 1 SQ DR",500,0.0757,37.8642,,10-00-1130.00,,,
+DC,2885,3Y,10.160,M,5,20/07/2023,20/07/2023,"STEEL BIT 4.5MM",10,3.0593,30.5928,,10-00-1130.00,,,
+DC,2885,3Y,10.160,M,5,20/07/2023,20/07/2023,"STEEL BIT 6MM",9,5.1586,46.4273,,10-00-1130.00,,,
+DC,2885,3Y,10.160,M,5,20/07/2023,20/07/2023,"PHILLIPS HD P2 TIP X 100 MM",20,2.1000,42,,10-00-1130.00,,,
+DC,2885,3Y,10.160,M,5,20/07/2023,20/07/2023,"HORSESHOE PACKERS 5 MM",1000,0.1235,123.509,,10-00-1130.00,,,
+DC,2823,,10.140,M,5,20/07/2023,20/07/2023,"GLAZING BLOCK 12 X 10",50,0.1291,6.4537,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.160,M,5,20/07/2023,20/07/2023,"Cutting Disc 125x22x1mm",50,2.6196,130.98,,10-00-1130.00,,,
+DC,2819,,10.140,M,5,13/07/2023,13/07/2023,"P40 6mm Glazing Wedge 200m R",2,80.3508,160.702,,10-00-1130.00,,,
+DC,2823,,10.140,M,5,13/07/2023,13/07/2023,"P40 6mm Glazing Wedge 200m R",1,80.3508,80.3508,,10-00-1130.00,,,
+DC,2740,Lot 1A,10.160,M,5,13/07/2023,13/07/2023,"P129/1 Glazing Wedge 100m Ro",5,102.1600,510.8,,10-00-1130.00,,,
+DC,2823,,10.140,M,5,13/07/2023,13/07/2023,"P117/120 9-10mm Glazing Wedg",1,121.2811,121.281,,10-00-1130.00,,,
+DC,2838,,10.140,M,5,13/07/2023,13/07/2023,"P40 6mm Glazing Wedge 200m R",1,80.3508,80.3508,,10-00-1130.00,,,
+DC,2819,,10.140,M,5,13/07/2023,13/07/2023,"P40 6mm Glazing Wedge 200m R",1,80.3508,80.3508,,10-00-1130.00,,,
+DC,2885,3Y,10.040,M,5,31/07/2023,31/07/2023,"EC2342 Door Bead@5.8m",4,8.4360,33.7438,,10-00-1130.00,,,
+DC,2885,2E,10.040,M,5,31/07/2023,31/07/2023,"EC2342 Door Bead@5.8m",4,8.4360,33.7438,,10-00-1130.00,,,
+DC,2885,1A,10.040,M,5,31/07/2023,31/07/2023,"EC2342 Door Bead@5.8m",4,8.4360,33.7438,,10-00-1130.00,,,
+DC,2885,1A,10.040,M,5,31/07/2023,31/07/2023,"EC2344 120mm MIdrail@5.5m",2,44.1885,88.377,,10-00-1130.00,,,
+DC,2885,3Y,10.040,M,5,31/07/2023,31/07/2023,"EC2345 120mm Door Rail@5.8m",6,62.8164,376.899,,10-00-1130.00,,,
+DC,2885,2E,10.040,M,5,31/07/2023,31/07/2023,"EC2345 120mm Door Rail@5.8m",4,62.8164,251.266,,10-00-1130.00,,,
+DC,2995,,10.040,M,5,31/07/2023,31/07/2023,"EC2345 120mm Door Rail@5.8m",2,62.8164,125.633,,10-00-1130.00,,,
+DC,2885,1A,10.040,M,5,31/07/2023,31/07/2023,"EC2345 120mm Door Rail@5.8m",2,62.8164,125.633,,10-00-1130.00,,,
+DC,2995,,10.040,M,5,31/07/2023,31/07/2023,"EC2391 100 x 44 Shopfront Do",6,7.2438,43.4628,,10-00-1130.00,,,
+DC,2995,,10.040,M,5,31/07/2023,31/07/2023,"EC2393 100 x 44 Shopfront Aw",3,9.3602,28.0806,,10-00-1130.00,,,
+DC,2995,,10.040,M,5,31/07/2023,31/07/2023,"EC2394 100 x 44 Shopfront Fr",8,46.7595,374.076,,10-00-1130.00,,,
+DC,2819,,10.040,M,5,31/07/2023,31/07/2023,"EC2394 100 x 44 Shopfront Fr",4,46.7595,187.038,,10-00-1130.00,,,
+DC,2995,,10.040,M,5,31/07/2023,31/07/2023,"EC2395 100 x 44 Shopfront Po",4,30.6798,122.719,,10-00-1130.00,,,
+DC,2995,,10.040,M,5,31/07/2023,31/07/2023,"EC2533 New SG Pocketed Hinge",3,66.4986,199.496,,10-00-1130.00,,,
+DC,2885,1A,10.040,M,5,31/07/2023,31/07/2023,"EC2533 New SG Pocketed Hinge",3,66.4986,199.496,,10-00-1130.00,,,
+DC,2885,1A,10.040,M,5,31/07/2023,31/07/2023,"EC2534 New SG Pocketed Pivot",3,77.5168,232.55,,10-00-1130.00,,,
+DC,2885,3Y,10.040,M,5,31/07/2023,31/07/2023,"EC2542 Sliding Door Interloc",12,5.4124,64.9488,,10-00-1130.00,,,
+DC,2885,2E,10.040,M,5,31/07/2023,31/07/2023,"EC2542 Sliding Door Interloc",5,5.4124,27.062,,10-00-1130.00,,,
+DC,2995,,10.040,M,5,31/07/2023,31/07/2023,"EC2890 37 Series Awning  SG ",3,5.0255,15.0765,,10-00-1130.00,,,
+DC,2937,,10.040,M,5,31/07/2023,31/07/2023,"EC2894 Plant-on Sliding Wind",1,16.9452,16.9452,,10-00-1130.00,,,
+DC,2937,,10.040,M,5,31/07/2023,31/07/2023,"EC2895 Plant-on Sliding Wind",1,18.4849,18.4849,,10-00-1130.00,,,
+DC,2937,,10.040,M,5,31/07/2023,31/07/2023,"EC2899 Plant-on Sliding Wind",1,6.8803,6.8803,,10-00-1130.00,,,
+DC,2881,3M,10.040,M,5,31/07/2023,31/07/2023,"EC2938 Lift Shaft T Section@",101,29.9025,3020.15,,10-00-1130.00,,,
+DC,2995,,10.040,M,5,31/07/2023,31/07/2023,"EC2983 37 Series Awning Sash",3,17.9116,53.7348,,10-00-1130.00,,,
+DC,2881,3M,10.040,M,5,31/07/2023,31/07/2023,"EH0002 (AM-1238) SHS 40 x 40",2,40.7939,81.5878,,10-00-1130.00,,,
+DC,2881,3M,10.040,M,5,31/07/2023,31/07/2023,"EH0003 (AM-1243) SHS 50 x 50",51,50.9765,2599.8,,10-00-1130.00,,,
+DC,2839,,10.040,M,5,31/07/2023,31/07/2023,"EK9114 Angle 32 x 20 x 1.6mm",59,12.3800,730.42,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.040,M,5,31/07/2023,31/07/2023,"EK9114 Angle 32 x 20 x 1.6mm",5,12.3800,61.9,,10-00-1130.00,,,
+DC,2823,,10.040,M,5,31/07/2023,31/07/2023,"EL6478 138-040 Plant On Door",3,12.4600,37.38,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.040,M,5,31/07/2023,31/07/2023,"EL6478 138-040 Plant On Door",2,12.4600,24.92,,10-00-1130.00,,,
+DC,2885,3Y,10.040,M,5,31/07/2023,31/07/2023,"EM4634 Glazing Adaptor@5.8m",20,11.3808,227.616,,10-00-1130.00,,,
+DC,2885,3Y,10.040,M,5,31/07/2023,31/07/2023,"EM4635 Bead for Glazing Adap",10,5.6484,56.4838,,10-00-1130.00,,,
+DC,2885,3Y,10.040,M,5,31/07/2023,31/07/2023,"EM4641 150mm Subhead@5.8m",48,49.4174,2372.04,,10-00-1130.00,,,
+DC,2885,3Y,10.040,M,5,31/07/2023,31/07/2023,"EM4643 150mm Subsill@5.8m",45,51.7338,2328.02,,10-00-1130.00,,,
+DC,2881,1E,10.040,M,5,31/07/2023,31/07/2023,"EM4853 Skylight Die@5.8m",1,127.4716,127.472,,10-00-1130.00,,,
+DC,2885,3Y,10.040,M,5,31/07/2023,31/07/2023,"EM4852 Skylight T-Bar@5.8m",24,76.7389,1841.73,,10-00-1130.00,,,
+DC,2881,2W,10.040,M,5,31/07/2023,31/07/2023,"EM4853 Skylight Die@5.8m",57,127.4716,7265.88,,10-00-1130.00,,,
+DC,2881,5M,10.040,M,5,31/07/2023,31/07/2023,"EM4853 Skylight Die@5.8m",28,127.4716,3569.2,,10-00-1130.00,,,
+DC,2881,3M,10.040,M,5,31/07/2023,31/07/2023,"EM4854 Skylight Spigot@5.8m",5,74.6144,373.072,,10-00-1130.00,,,
+DC,2885,3Y,10.040,M,5,31/07/2023,31/07/2023,"EM5021 SG Pocket Filler@5.8m",15,6.2875,94.3126,,10-00-1130.00,,,
+DC,2819,,10.040,M,5,31/07/2023,31/07/2023,"EM5021 SG Pocket Filler@5.8m",4,6.2875,25.15,,10-00-1130.00,,,
+DC,2885,2E,10.040,M,5,31/07/2023,31/07/2023,"EM5021 SG Pocket Filler@5.8m",14,6.2875,88.0251,,10-00-1130.00,,,
+DC,2885,1A,10.040,M,5,31/07/2023,31/07/2023,"EM5021 SG Pocket Filler@5.8m",18,6.2875,113.175,,10-00-1130.00,,,
+DC,2885,1A,10.040,M,5,31/07/2023,31/07/2023,"EM5025 150 SG Flushline Flat",2,18.2489,36.4977,,10-00-1130.00,,,
+DC,2885,1A,10.040,M,5,31/07/2023,31/07/2023,"EM5027 150 SG Flushline Fema",42,53.4256,2243.87,,10-00-1130.00,,,
+DC,2885,1A,10.040,M,5,31/07/2023,31/07/2023,"EM5028 150 SG Flushline Male",26,55.7575,1449.7,,10-00-1130.00,,,
+DC,2885,3Y,10.040,M,5,31/07/2023,31/07/2023,"EM5028 150 SG Flushline Male",9,55.7575,501.818,,10-00-1130.00,,,
+DC,2885,2E,10.040,M,5,31/07/2023,31/07/2023,"EM5028 150 SG Flushline Male",3,55.7575,167.273,,10-00-1130.00,,,
+DC,2885,3Y,10.040,M,5,31/07/2023,31/07/2023,"EM9044 Skylight Glazing Bead",54,15.1561,818.429,,10-00-1130.00,,,
+DC,2881,2W,10.050,M,5,31/07/2023,31/07/2023,"EM9044 Skylight Glazing Bead",40,15.1561,606.244,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.040,M,5,31/07/2023,31/07/2023,"L0210 Angle 25 x 20 x 1.9mm@",88,6.4320,566.014,,10-00-1130.00,,,
+DC,2881,1E,10.040,M,5,31/07/2023,31/07/2023,"L0275 Angle 32 x 25 x 1.6mm@",17,6.7004,113.907,,10-00-1130.00,,,
+DC,2881,3M,10.040,M,5,31/07/2023,31/07/2023,"L0275 Angle 32 x 25 x 1.6mm@",5,6.7004,33.502,,10-00-1130.00,,,
+DC,2995,,10.040,M,5,31/07/2023,31/07/2023,"L0275 Angle 32 x 25 x 1.6mm@",14,6.7004,93.8056,,10-00-1130.00,,,
+DC,2937,,10.040,M,5,31/07/2023,31/07/2023,"L0275 Angle 32 x 25 x 1.6mm@",3,6.7004,20.1012,,10-00-1130.00,,,
+DC,2885,1A,10.040,M,5,31/07/2023,31/07/2023,"L0275 Angle 32 x 25 x 1.6mm@",13,6.7004,87.1052,,10-00-1130.00,,,
+DC,2885,1A,10.040,M,5,31/07/2023,31/07/2023,"L0280 Angle 70 x 25 x 1.6mm@",31,10.3436,320.652,,10-00-1130.00,,,
+DC,2740,Lot 1A,10.040,M,5,31/07/2023,31/07/2023,"L09109 Angle 25.4 x 12.7 x 1",5,3.3910,16.955,,10-00-1130.00,,,
+DC,2740,Lot 2B,10.040,M,5,31/07/2023,31/07/2023,"L09109 Angle 25.4 x 12.7 x 1",20,3.3910,67.82,,10-00-1130.00,,,
+DC,2823,,10.040,M,5,31/07/2023,31/07/2023,"L1052 Angle 32 x 32 x 3mm@5.",4,11.5707,46.2828,,10-00-1130.00,,,

+ 57 - 0
prs.media/TimberlineExportFiles/PO Item layout.pdf

@@ -0,0 +1,57 @@
+Commitment item                                                                                Page 1 of 2
+
+Commitment item
+
+Items required to be entered are marked as such in the Comment column.
+
+ No.    Type       Length   Item                                         Comment
+                                                                        required, must be CI
+1      alpha      2        record ID                                    required
+2      alpha      12       commitment ID                                see item number
+3      numeric    3        item number
+4      alpha      30       description                                  16 2/3% entered as 16.667
+5      numeric    2.3      retainage percent                            PO only
+6      date       10       delivery date                                see alpha item
+7      alpha      1000     scope of work                                required if extra, cost code, or category is
+8      alpha      10       job                                          entered; separators can be entered or omitted
+                                                                        enter or omit separators
+9      Alpha      10       extra                                        required if job, extra, or category is entered;
+                                                                        separators can be entered or omitted; standard
+10     alpha      12       cost code                                    cost codes must exist prior to import
+
+11     alpha      3        category                                     required if categories are used
+                                                                        and job, extra, or cost code
+12     alpha      6        tax group                                    entered
+                                                                        enter comma separator if not using tax; must be
+13     numeric    -9.2     Tax                                          set up in AP
+                                                                        enter comma separator only;
+14     numeric    -8.4     units                                        automatically calculated
+                                                                        based on tax group and
+15     Numeric    -6.4     unit cost                                    amount
+                                                                        If not tracking units, contributes to total
+16     alpha      6        unit description                             commitment item amount, but not written to the
+                                                                        commitment item or JC transaction records; 15 ¼
+17     numeric    -9.2     amount                                       units entered as 15.25
+                                                                        If not tracking unit cost, contributes to total
+                                                                        Commitment Item Amount, but not written to the
+                                                                        commitment item or JC transaction records
+
+                                                                        including tax, see Note; if entered, overrides units
+                                                                        times unit cost; if blank and tax group is entered,
+                                                                        calculated as ((units times unit cost) plus tax)
+
+18     check box  5        bought out                                   see About field types
+19-up  varies     varies   1 - 250 custom fields
+
+Note: If you are using taxes in Accounts Payable and a tax group (item #12) is entered or imported for a commitment item,
+you should include tax in the imported amount (item #17).
+
+mk:@MSITStore:C:\Program%20Files%20(x86)\Timberline%20Office\Shared\Help\JC.... 29/08/2023
+Commitment item  Page 2 of 2
+
+ More resources
+You can visit Sage City to join product discussions, search articles in the Sage knowledgebase, or chat online with an expert.
+For additional training on Sage products, visit Sage University.
+
+mk:@MSITStore:C:\Program%20Files%20(x86)\Timberline%20Office\Shared\Help\JC.... 29/08/2023
+

+ 275 - 0
prs.media/TimberlineExportFiles/PO layout.pdf

@@ -0,0 +1,275 @@
+Commitment                                                              Page 1 of 5
+
+Commitment
+
+Items required to be entered are marked as such in the Comment column.
+
+No. Type           Length  Item                                         Comment
+                   1       record ID                                    required, must be C
+1   alpha          12      commitment ID                                required
+                   1       commitment type                              1=Subcontract, 2=PO
+2   alpha          30      description
+                   10      vendor ID                                    If blank, contract is uncommitted (Note: if
+3   option button                                                       importing from Buyout, this is the contact ID)
+                                                                        if blank, uses system date
+4   alpha                                                               47 2/3% entered as 47.667
+                                                                        see commit method
+5   alpha
+                                                                        PO only, Header Info window
+6   date           10      date                                         PO only, Header Info window
+                                                                        PO only, Header Info window
+7   numeric        2.3     retainage percent                            PO only, Header Info window
+                                                                        PO only, Header Info window
+8   check box      5       committed to JC                              PO only, Header Info window
+                                                                        PO only, Header Info window
+9   check box      5       closed                                       PO only, Header Info window
+                                                                        PO only, Header Info window
+10  check box      5       printed                                      PO only, Header Info window
+                                                                        PO only, Header Info window
+11  alpha          30      to address 1                                 PO only, Header Info window
+                                                                        PO only, Header Info window
+12  alpha          30      to address 2                                 PO only, Header Info window
+                                                                        PO only, Header Info window
+13  alpha          15      to city
+
+14  alpha          4       to state
+
+15  alpha          10      to ZIP code
+
+16  alpha          30      ship to address 1
+
+17  alpha          30      ship to address 2
+
+18  alpha          15      ship to city
+
+19  alpha          4       ship to state
+
+20  alpha          10      ship to ZIP code
+
+21  alpha          15      ordered by
+
+22  alpha          15      terms
+
+23  alpha          15      ship via
+
+24  alpha          15      free on board
+
+25  alpha          15      misc alpha 5
+
+mk:@MSITStore:C:\Program%20Files%20(x86)\Timberline%20Office\Shared\Help\JC.... 29/08/2023
+Commitment                                                                      Page 2 of 5
+
+26  date       10    delivery date                 PO only, Header Info window
+               10    misc date 2                   PO only, Header Info window
+27  date       10    misc date 3                   PO only, Header Info window
+               1000  scope of work                 see alpha item description
+28  date       10    startup notification          Schedule window
+               10    scheduled start               Schedule window
+29  alpha      10    actual start                  Schedule window
+               10    sched. completion             Schedule window
+30  date       10    actual completion             Schedule window
+               5     workers' comp. Required       Insurance window
+31  date       25    workers' comp. company        Insurance window
+               25    workers' comp. policy         Insurance window
+32  date       10    workers' comp. effective      Insurance window
+               10    workers' comp. expiration     Insurance window
+33  date       10    workers' comp. limit          Insurance window
+               5     workers' comp. Received       Insurance window
+34  date       10    workers' comp. Received date  Insurance window
+               20    workers' comp. Received by    Insurance window
+35  check box  5     workers' comp. Override       Insurance window
+               5     auto Required                 Insurance window
+36  alpha      25    auto company                  Insurance window
+               25    auto policy                   Insurance window
+37  alpha      10    auto effective                Insurance window
+               10    auto expiration               Insurance window
+38  date       10    auto limit                    Insurance window
+               5     auto Received                 Insurance window
+39  date       10    auto Received date            Insurance window
+               20    auto Received by              Insurance window
+40  numeric    5     auto Override                 Insurance window
+               5     gen. liability Required       Insurance window
+41  check box
+
+42  date
+
+43  alpha
+
+44  check box
+
+45  check box
+
+46  alpha
+
+47  alpha
+
+48  date
+
+49  date
+
+50  numeric
+
+51  check box
+
+52  date
+
+53  alpha
+
+54  check box
+
+55  check box
+
+mk:@MSITStore:C:\Program%20Files%20(x86)\Timberline%20Office\Shared\Help\JC.... 29/08/2023
+Commitment                                                         Page 3 of 5
+
+    alpha      25  gen. liability co.            Insurance window
+                   gen. liability policy         Insurance window
+57  alpha      25  gen. liability effective      Insurance window
+                   gen. liability expiration     Insurance window
+58  date       10  gen. liability limit          Insurance window
+                   gen. liability Received       Insurance window
+59  date       10  gen. liability Received date  Insurance window
+                   gen. liability Received by    Insurance window
+60  numeric    10  gen. liability Override       Insurance window
+                   umbrella Required             Insurance window
+61  check box  5   umbrella company              Insurance window
+                   umbrella policy               Insurance window
+62  date       10  umbrella effective            Insurance window
+                   umbrella expiration           Insurance window
+63  alpha      20  umbrella limit                Insurance window
+                   umbrella Received             Insurance window
+64  check box  5   umbrella Received date        Insurance window
+                   umbrella Received by          Insurance window
+65  check box  5   umbrella Override             Insurance window
+                   Custom 1 Required             Insurance window
+66  alpha      25  Custom 1 company              Insurance window
+                   Custom 1 policy               Insurance window
+67  alpha      25  Custom 1 effective            Insurance window
+                   Custom 1 expiration           Insurance window
+68  date       10  Custom 1 limit                Insurance window
+                   Custom 1 Received             Insurance window
+69  date       10  Custom 1 Received date        Insurance window
+                   Custom 1 Received by          Insurance window
+70  numeric    10  Custom 1 Override             Insurance window
+                   Custom 2 Required             Insurance window
+71  check box  5
+
+72  date       10
+
+73  alpha      20
+
+74  check box  5
+
+75  check box  5
+
+76  alpha      25
+
+77  alpha      25
+
+78  date       10
+
+79  date       10
+
+80  numeric    10
+
+81  check box  5
+
+82  date       10
+
+83  alpha      20
+
+84  check box  5
+
+85  check box  5
+
+mk:@MSITStore:C:\Program%20Files%20(x86)\Timberline%20Office\Shared\Help\JC.... 29/08/2023
+Commitment                                                               Page 4 of 5
+
+    alpha      25  Custom 2 company            Insurance window
+                   Custom 2 policy             Insurance window
+87  alpha      25  Custom 2 effective          Insurance window
+                   Custom 2 expiration         Insurance window
+88  date       10  Custom 2 limit              Insurance window
+                   Custom 2 Received           Insurance window
+89  date       10  Custom 2 Received date      Insurance window
+                   Custom 2 Received by        Insurance window
+90  numeric    10  Custom 2 Override           Insurance window
+                   your verbal                 Other Information window
+91  check box  5   your issued by              Other Information window
+                   your signed by              Other Information window
+92  date       10  your signed on              Other Information window
+                   verbal approval rec. due    Checklist window
+93  alpha      20  verbal approval received    Checklist window
+                   vendor verbal               Other Information window
+94  check box  5   vendor signed by            Other Information window
+                   vendor signed on            Other Information window
+95  alpha      30  contract issued due         Checklist window
+                   contract issued             Checklist window
+96  alpha      30  signed contract rec. due    Checklist window
+                   signed contract received    Checklist window
+97  alpha      30  insurance cert. rec. due    Checklist window
+                   insurance certificate rec.  Checklist window
+98  date       10  misc checklist1             Checklist window
+                   misc checklist1 due         Checklist window
+99  date       10  misc checklist2             Checklist window
+                   misc checklist2 due         Checklist window
+100 check box  5   misc checklist3             Checklist window
+                   misc checklist3 due         Checklist window
+101 alpha      30
+
+102 alpha      30
+
+103 date       10
+
+104 date       10
+
+105 check box  5
+
+106 date       10
+
+107 check box  5
+
+108 date       10
+
+109 check box  5
+
+110 check box  5
+
+111 date       10
+
+112 check box  5
+
+113 date       10
+
+114 check box  5
+
+115 date       10
+
+mk:@MSITStore:C:\Program%20Files%20(x86)\Timberline%20Office\Shared\Help\JC.... 29/08/2023
+Commitment                                                                            Page 5 of 5
+
+117   check box  5       misc checklist4             Checklist window
+118   date       10      misc checklist4 due         Checklist window
+119   check box  5       performance bond req.       Other Information window
+120   date       10      perform. bond rec. due      Checklist window
+121   check box  5       performance bond rec.       Other Info. & Checklist windows
+122   numeric    -9.2    performance bond amt.       Other Information window
+123   alpha      30      performance bond surety     Other Information window
+124   alpha      30      perform. bond contact       Other Information window
+125   telephone  13      perform. bond phone         Other Information window
+126   check box  5       payment bond required       Other Information window
+127   date       10      payment bond rec. due       Checklist window
+128   check box  5       payment bond received       Other Info. & Checklist windows
+129   numeric    -9.2    payment bond amount         Other Information window
+130   alpha      30      payment bond surety         Other Information window
+131   alpha      30      payment bond contact        Other Information window
+132   telephone  13      payment bond phone          Other Information window
+133-  check box  5       Master Compliance Approval  Commitment window
+382   varies     varies  1 - 250 custom fields       see About field types
+
+ More resources
+You can visit Sage City to join product discussions, search articles in the Sage knowledgebase, or chat online with an expert.
+For additional training on Sage products, visit Sage University.
+
+mk:@MSITStore:C:\Program%20Files%20(x86)\Timberline%20Office\Shared\Help\JC.... 29/08/2023
+

+ 45 - 0
prs.media/TimberlineExportFiles/POExport (34).csv

@@ -0,0 +1,45 @@
+C,102908,2,"",GNT001,11/04/2023,,,,,,,,,,,,,,,,

+CI,102908,1,"5mm clear annealed 1_52mm cl",,,,2819,,10.060,M,FREE,,4,1295.43,EACH,

+C,103088,2,"",GNT001,23/05/2023,,,,,,,,,,,,,,,,

+CI,103088,1,"GLS01_1_52mm Low E Clear Tou",,,,2885,2E,10.060,M,FREE,,60,84.2872,EACH,

+C,103090,2,"",GNT001,23/05/2023,,,,,,,,,,,,,,,,

+CI,103090,1,"GL04_12_52mm Low E Clear Tou",,,,2885,2E,10.060,M,FREE,,26,271.902,EACH,

+C,103092,2,"",GNT001,23/05/2023,,,,,,,,,,,,,,,,

+CI,103092,1,"GL01_11_52mm Low E Clear Tou",,,,2885,2E,10.060,M,FREE,,59,92.3813,EACH,

+C,103093,2,"",GNT001,23/05/2023,,,,,,,,,,,,,,,,

+CI,103093,1,"GL04_12_52mm Low E Clear Tou",,,,2885,2E,10.060,M,FREE,,26,281.512,EACH,

+C,103122,2,"",GNT001,29/05/2023,,,,,,,,,,,,,,,,

+CI,103122,1,"_12_52mm Low E Clear Toughen",,,,2885,1A,10.060,M,FREE,,28,285.306,EACH,

+C,103123,2,"",GNT001,29/05/2023,,,,,,,,,,,,,,,,

+CI,103123,1,"_12_52mm Low E Clear Toughen",,,,2885,1A,10.060,M,FREE,,28,285.306,EACH,

+C,103131,2,"",GNT001,30/05/2023,,,,,,,,,,,,,,,,

+CI,103131,1,"11_52 Clear Toughened Heat S",,,,2881,3M,10.060,M,FREE,,128,75.2275,EACH,

+C,103132,2,"",GNT001,30/05/2023,,,,,,,,,,,,,,,,

+CI,103132,1,"11_52MM LOW_E LAMINATED GLAS",,,,2881,3M,10.060,M,FREE,,152,210.327,EACH,

+C,103140,2,"",GNT001,31/05/2023,,,,,,,,,,,,,,,,

+CI,103140,1,"DGU _ 28_52 _ 8mm PSE22_40 o",,,,2740,Lot 2B,10.060,M,FREE,,1,323.65,EACH,

+C,103227,2,"",GNT001,19/06/2023,,,,,,,,,,,,,,,,

+CI,103227,1,"DGU 31_52mm _8mm PSE22_40 on",,,,2740,Lot 2B,10.060,M,FREE,,1,286.8,EACH,

+C,103475,2,"2838 Hale school. Price as p",CAP001,11/08/2023,,,,,,,,,,,,,,,,

+CI,103475,1,"314628 950 SW _ Roller 32Kg ",,,,2838,,10.150,M,GST,,18,6.53,EACH,

+CI,103475,10,"EP2219 419 150 Flat Filler_6",,,,2838,,10.040,M,GST,,14,52.35,L,

+CI,103475,11,"EP2219 419 150 Flat Filler_6",,,,2838,,10.040,M,GST,,2,0,L,

+CI,103475,2,"314634 950 SW _ Latch Set Lo",,,,2838,,10.150,M,GST,,2,365.52,PACK,

+CI,103475,3,"E30234 419 150 Male Mullion_",,,,2838,,10.040,M,GST,,2,104.7,L,

+CI,103475,4,"E30235 419 150 Female Mullio",,,,2838,,10.040,M,GST,,2,105.56,L,

+CI,103475,5,"E31800 150 DG Male Mullion_6",,,,2838,,10.040,M,GST,,11,134.11,L,

+CI,103475,6,"E31800 150 DG Male Mullion_6",,,,2838,,10.040,M,GST,,5,134.11,L,

+CI,103475,7,"E31801 150 DG Female Mullion",,,,2838,,10.040,M,GST,,11,117.37,L,

+CI,103475,8,"E31801 150 DG Female Mullion",,,,2838,,10.040,M,GST,,5,117.37,L,

+CI,103475,9,"EP2214 419 150 Frame _ Mulli",,,,2838,,10.040,M,GST,,44,145.29,L,

+C,103507,2,"2881MA Malaga sation. Please",CAP001,21/08/2023,,,,,,,,,,,,,,,,

+CI,103507,1,"EK9122 Angle 40 x 25 x 3mm_6",,,,2881,3M,10.040,M,GST,,8,28.24,L,

+CI,103507,2,"EL8018 RHS 80x25x3mm_6_5m",,,,2881,3M,10.040,M,GST,,18,88.17,L,

+CI,103507,3,"EL8019 RHS 80x40x3mm_6_5m",,,,2881,3M,10.040,M,GST,,7,101.17,L,

+CI,103507,4,"EL8020 RHS 80x50x3mm_6_5m",,,,2881,3M,10.040,M,GST,,25,112.19,L,

+CI,103507,5,"EL8025 RHS100x50x3mm_6_5m",,,,2881,3M,10.040,M,GST,,16,128.35,L,

+CI,103507,6,"EN5323 Angle 125 x80 x 8mm R",,,,2881,3M,10.040,M,GST,,10,258.56,L,

+C,103510,2,"Please deliver the above goo",POW003,22/08/2023,,,,,,,,,,,,,,,,

+CI,103510,1,"PROTECTION TAPE BLACK 48 MM ",,,,,,,,GST,,24,4.91,ROLL,

+CI,103510,2,"1114 MASKING TAPE 50 MM X 50",,,,,,,,GST,,72,4.55,ROLL,

+CI,103510,3,"4522 Poly Woven strap 19mm X",,,,,,,,GST,,3,194.15,EACH,


+ 15 - 0
prs.media/TimberlineExportFiles/POExport (36).csv

@@ -0,0 +1,15 @@
+C,103256,2,"2838 Hale School Memorial Ha",CLA001,26/06/2023,,,,,,,,,,,,,,,,
+CI,103256,1,"152mm Altair Clip Louvres as",,,,2838,,10.120,M,GST,,1,3240,EACH,
+C,103394,2,"",TOT009,26/07/2023,,,,,,,,,,,,,,,,
+CI,103394,1,"Black out film",,,,2740,Lot 2B,10.210,M,GST,,1,856.01,ROLL,
+C,103486,2,"2885E Eglinton Station. ",COO002,15/08/2023,,,,,,,,,,,,,,,,
+CI,103486,1,"11_52 Low E Clear Toughened ",,,,2885,2E,10.060,M,GST,,10,318,EACH,
+CI,103517,4,"20% Com-al Discount for Roll",,,,,,,,GST,,0,10.34,EACH,
+C,103579,2,"Colour: Dulux Duratec Zeus M",POW001,05/09/2023,,,,,,,,,,,,,,,,
+CI,103579,1,"ED8513 _ Short Leg Jamb Adap",,,,2881,2W,10.050,M,GST,,3,20,L,
+C,103604,2,"",ELR001,13/09/2023,,,,,,,,,,,,,,,,
+CI,103604,1,"Eltrak Heavy Sliding Door Ro",,,,,,,,GST,,6,180,EACH,
+C,103608,2,"Colour: Dulux Electro Medium",POW001,18/09/2023,,,,,,,,,,,,,,,,
+CI,103608,1,"Express Set_up Fee",,,,2740,Lot 3,10.050,M,GST,,1,75,EACH,
+CI,103608,2,"EH0001 _ RHS 100 x 25 x 2 _ ",,,,2740,Lot 3,10.050,M,GST,,3,15.2484,L,
+CI,103608,3,"EL8012 _ RHS 50 x 25 x 3 _ 3",,,,2740,Lot 3,10.050,M,GST,,3,8.4375,L,

+ 2 - 0
prs.media/TimberlineExportFiles/POExport PRS(1).csv

@@ -0,0 +1,2 @@
+C,103688,2," 9022 DGU Glass Sample",COO002,06-10-2023,0,False,False,False
+CI,103688,1,To laminate and double glaze 4,0,01-01-0001,,9022,,,,GST,,1,150,EACH,165,False

+ 36 - 0
prs.media/TimberlineExportFiles/change order item layout.pdf

@@ -0,0 +1,36 @@
+Commitment change order item                                            Page 1 of 1
+
+Commitment change order item
+
+Items required to be entered are marked as such in the Comment column.
+
+Number  Type                  Length  Item                              Comment
+1       alpha                 4       record ID
+2       alpha                 12      commitment ID                     required, must be CCOI
+3       alpha                 5       commitment CO ID
+4       numeric               3       item number                       required
+5       alpha                 30      description
+6       numeric               8.4     units                             required
+
+7       numeric               9.2     amount                            required; commitment item must already exist
+
+                                                                        if tracking units; unit cost is retrieved from
+                                                                        original commitment item; If not tracking units,
+                                                                        contributes to total commitment item amount,
+                                                                        but not written to the commitment item or JC
+                                                                        transaction records
+
+                                                                        including tax, see Note; if entered, overrides
+                                                                        units times unit cost; if blank and tax group is
+                                                                        entered on original commitment item, calculated
+                                                                        as ((units times unit cost) plus tax)
+
+Note: If you are using taxes in Accounts Payable and a tax group was entered or imported for the original commitment item
+(item #4), you should include tax in the amount (item #7).
+
+ More resources
+You can visit Sage City to join product discussions, search articles in the Sage knowledgebase, or chat online with an expert.
+For additional training on Sage products, visit Sage University.
+
+mk:@MSITStore:C:\Program%20Files%20(x86)\Timberline%20Office\Shared\Help\JC.... 29/08/2023
+

+ 441 - 0
prs.shared/Posters/Timberline/StockMovementTimberlinePoster.cs

@@ -0,0 +1,441 @@
+using Comal.Classes;
+using CsvHelper.Configuration.Attributes;
+using CsvHelper.Configuration;
+using CsvHelper;
+using InABox.Core.Postable;
+using InABox.Core;
+using InABox.Poster.Timberline;
+using InABox.Scripting;
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using Microsoft.Win32;
+using CsvHelper.TypeConversion;
+
+namespace PRS.Shared
+{
+    public interface IStockMovementTimberlineLine
+    {
+        DateTime TransactionDate { get; set; }
+
+        DateTime AccountingDate { get; set; }
+
+        string Description { get; set; }
+
+        double Amount { get; set; }
+
+        string DebitAccount { get; set; }
+
+        string CreditAccount { get; set; }
+
+        string Reference1 { get; set; }
+
+        string Reference2 { get; set; }
+    }
+
+    public enum StockMovementTimberlineTransactionType
+    {
+        APCost = 1,
+        JCCost = 2,
+        PRCost = 3,
+        EQCost = 4,
+        IVCost = 5
+    }
+
+    public class StockMovementTimberlineTransactionTypeConverter : DefaultTypeConverter
+    {
+        public override object? ConvertFromString(string? text, IReaderRow row, MemberMapData memberMapData)
+        {
+            if (Enum.TryParse<StockMovementTimberlineTransactionType>(text, out var type))
+            {
+                return type;
+            }
+            return base.ConvertFromString(text, row, memberMapData);
+        }
+
+        public override string? ConvertToString(object? value, IWriterRow row, MemberMapData memberMapData)
+        {
+            if (value is StockMovementTimberlineTransactionType type)
+            {
+                return ((int)type).ToString();
+            }
+            return "";
+        }
+    }
+
+    public class StockMovementTimberlineDirectCost : IStockMovementTimberlineLine
+    {
+        [Index(0)]
+        public string RecordID { get; set; } = "DC";
+
+        [Index(1)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
+        public string Job { get; set; }
+
+        [Index(2)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
+        public string Extra { get; set; }
+
+        [Index(3)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 12)]
+        public string CostCode { get; set; }
+
+        [Index(4)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 3)]
+        public string Category { get; set; }
+
+        [Index(5)]
+        [TypeConverter(typeof(StockMovementTimberlineTransactionTypeConverter))]
+        public StockMovementTimberlineTransactionType TransactionType { get; set; }
+
+        [Index(6)]
+        [TypeConverter(typeof(TimberlinePosterDateConverter))]
+        public DateTime TransactionDate { get; set; }
+
+        [Index(7)]
+        [TypeConverter(typeof(TimberlinePosterDateConverter))]
+        public DateTime AccountingDate { get; set; }
+
+        [Index(8)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 30)]
+        public string Description { get; set; }
+
+        [Index(9)]
+        public double Units { get; set; }
+
+        [Index(10)]
+        public double UnitCost { get; set; }
+
+        [Index(11)]
+        public double Amount { get; set; }
+
+        [Index(12)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 25)]
+        public string DebitAccount { get; set; }
+
+        [Index(13)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 25)]
+        public string CreditAccount { get; set; }
+
+        [Index(14)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
+        public string Reference1 { get; set; }
+
+        [Index(15)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
+        public string Reference2 { get; set; }
+
+        [Index(16)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
+        public string StandardItem { get; set; }
+    }
+
+    public class StockMovementTimberlineGL : IStockMovementTimberlineLine
+    {
+        [Index(0)]
+        public string RecordID { get; set; } = "GL";
+
+        [Index(1)]
+        [TypeConverter(typeof(TimberlinePosterDateConverter))]
+        public DateTime TransactionDate { get; set; }
+
+        [Index(2)]
+        [TypeConverter(typeof(TimberlinePosterDateConverter))]
+        public DateTime AccountingDate { get; set; }
+
+        [Index(3)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 30)]
+        public string Description { get; set; }
+
+        [Index(4)]
+        public double Amount { get; set; }
+
+        [Index(5)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 25)]
+        public string DebitAccount { get; set; }
+
+        [Index(6)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 25)]
+        public string CreditAccount { get; set; }
+
+        [Index(7)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
+        public string Reference1 { get; set; }
+
+        [Index(8)]
+        [TypeConverter(typeof(TimberlinePosterStringConverter), 10)]
+        public string Reference2 { get; set; }
+    }
+
+    public class StockMovementTimberlineSettings : TimberlinePosterSettings<StockMovement>
+    {
+        protected override string DefaultScript()
+        {
+            return @"
+using PRS.Shared;
+using InABox.Core;
+using System.Collections.Generic;
+
+public class Module
+{
+    public void BeforePost(IDataModel<StockMovement> model)
+    {
+        // Perform pre-processing
+    }
+
+    public void ProcessDirectCostLine(IDataModel<StockMovement> model, StockMovement stockMovement, StockMovementTimberlineDirectCost line)
+    {
+        // Do extra processing for a direct cost line; return false to fail this movement
+        return true;
+    }
+
+    public void ProcessGLLine(IDataModel<StockMovement> model, StockMovement stockMovement, StockMovementTimberlineGL line)
+    {
+        // Do extra processing for a GL line; return false to fail this movement
+        return true;
+    }
+
+    public void AfterPost(IDataModel<StockMovement> model)
+    {
+        // Perform post-processing
+    }
+}";
+        }
+    }
+
+    public class StockMovementTimberlineResult : TimberlinePostResult<IStockMovementTimberlineLine, StockMovement>
+    {
+    }
+
+    public class StockMovementTimberlinePoster : ITimberlinePoster<StockMovement, StockMovementTimberlineSettings>
+    {
+        public ScriptDocument? Script { get; set; }
+        public StockMovementTimberlineSettings Settings { get; set; }
+
+        public bool BeforePost(IDataModel<StockMovement> model)
+        {
+            model.SetIsDefault<Document>(false, alias: "CompanyLogo");
+            model.SetIsDefault<CoreTable>(false, alias: "CompanyInformation");
+            model.SetIsDefault<Employee>(false);
+
+            model.SetColumns(new Columns<StockMovement>(x => x.Transaction));
+
+            model.AddChildTable<StockMovement, StockMovement>(x => x.Transaction, x => x.Transaction,
+                parentalias: "StockMovement", childalias: "FullTransactions",
+                isdefault: true,
+                filter: new Filter<StockMovement>(x => x.IsTransfer).IsEqualTo(true),
+                columns: new Columns<StockMovement>(x => x.ID)
+                    .Add(x => x.Transaction)
+                    .Add(x => x.Job.ID)
+                    .Add(x => x.Product.ID)
+                    .Add(x => x.IsTransfer)
+                    );
+
+            model.AddLookupTable<StockMovement, Product>(x => x.Product.ID, x => x.ID, sourcealias: "FullTransactions",
+                columns: new Columns<Product>(x => x.ID)
+                    .Add(x => x.CostCentre.Code));
+
+            model.AddLookupTable<StockMovement, Job>(x => x.Job.ID, x => x.ID, sourcealias: "FullTransactions",
+                columns: new Columns<Job>(x => x.ID)
+                    .Add(x => x.JobNumber));
+
+            Script?.Execute(methodname: "BeforePost", parameters: new object[] { model });
+            return true;
+        }
+
+        private bool ProcessDirectCostLine(IDataModel<StockMovement> model, StockMovement stockMovement, StockMovementTimberlineDirectCost line)
+        {
+            return Script?.Execute(methodname: "ProcessDirectCostLine", parameters: new object[] { model, stockMovement, line }) != false;
+        }
+        private bool ProcessGLLine(IDataModel<PurchaseOrder> model, StockMovement stockMovement, StockMovementTimberlineDirectCost line)
+        {
+            return Script?.Execute(methodname: "ProcessGLLine", parameters: new object[] { model, stockMovement, line }) != false;
+        }
+
+        private StockMovementTimberlineResult DoProcess(IDataModel<StockMovement> model)
+        {
+            var result = new StockMovementTimberlineResult();
+
+            var firstMovements = model.GetTable<StockMovement>();
+            var full = model.GetTable<StockMovement>("FullTransactions")
+                .ToObjects<StockMovement>();
+            var products = model.GetTable<Product>().ToObjects<Product>()
+                .ToDictionary(x => x.ID, x => x);
+            var jobs = model.GetTable<Job>().ToObjects<Job>()
+                .ToDictionary(x => x.ID, x => x);
+
+            foreach (var movement in full)
+            {
+                IStockMovementTimberlineLine line;
+                if(movement.Job.ID != Guid.Empty)
+                {
+                    var job = jobs[movement.Job.ID];
+                    var dc = new StockMovementTimberlineDirectCost
+                    {
+                        Job = job.JobNumber,
+                        Extra = "",
+                        CostCode = products[movement.Product.ID].CostCentre.Code,
+                        Category = "",
+                        Units = movement.Units,
+                        UnitCost = movement.Cost
+                    };
+                    line = dc;
+                }
+                else
+                {
+                    line = new StockMovementTimberlineGL
+                    {
+                    };
+                }
+            }
+
+            /*var lines = model.GetTable<PurchaseOrderItem>("PurchaseOrder_PurchaseOrderItem").ToObjects<PurchaseOrderItem>()
+                .GroupBy(x => x.PurchaseOrderLink.ID).ToDictionary(x => x.Key, x => x.ToList());
+            foreach (var purchaseOrder in model.GetTable<PurchaseOrder>().ToObjects<PurchaseOrder>())
+            {
+                var c = new PurchaseOrderTimberlineHeader
+                {
+                    CommitmentID = purchaseOrder.PONumber,
+                    CommitmentType = PurchaseOrderTimberlineCommitmentType.PO,
+                    Description = purchaseOrder.Description,
+                    VendorID = purchaseOrder.SupplierLink.Code,
+                    Date = purchaseOrder.IssuedDate,
+                    // RetainagePercent
+                    // Committed to JC
+                    Closed = purchaseOrder.ClosedDate != DateTime.MinValue,
+                    // Printed
+                };
+                if (!ProcessHeader(model, purchaseOrder, c))
+                {
+                    cs.AddFailed(purchaseOrder, "Failed by script.");
+                }
+                else
+                {
+                    // Dictionary from line number to POItem.
+                    var items = new Dictionary<int, PurchaseOrderItem>();
+                    var POItems = lines.GetValueOrDefault(purchaseOrder.ID)?.ToList() ?? new List<PurchaseOrderItem>();
+                    foreach (var purchaseOrderItem in POItems)
+                    {
+                        if (int.TryParse(purchaseOrderItem.PostedReference, out var itemNumber))
+                        {
+                            if (items.TryGetValue(itemNumber, out var oldItem))
+                            {
+                                // Theoretically shouldn't happen, but just in case.
+                                MessageBox.Show($"Warning: Multiple PurchaseOrder Items have the same line number for export; the line number for '{purchaseOrderItem.Description}' will be changed in the export.");
+                                Logger.Send(LogType.Error, "", $"Purchase Order Post: Multiple POItems with the same Line Number; changing line number of POItem {purchaseOrderItem.ID}");
+                                purchaseOrderItem.PostedReference = "";
+                            }
+                            else
+                            {
+                                items[itemNumber] = purchaseOrderItem;
+                            }
+                        }
+                    }
+
+                    var success = true;
+                    foreach (var purchaseOrderItem in POItems)
+                    {
+                        if (!int.TryParse(purchaseOrderItem.PostedReference, out var itemNumber))
+                        {
+                            itemNumber = 1;
+                            while (items.ContainsKey(itemNumber))
+                            {
+                                ++itemNumber;
+                            }
+
+                            items[itemNumber] = purchaseOrderItem;
+                            purchaseOrderItem.PostedReference = itemNumber.ToString();
+                        }
+                        var ci = new PurchaseOrderTimberlineLine
+                        {
+                            CommitmentID = purchaseOrder.PONumber,
+                            ItemNumber = itemNumber,
+                            Description = purchaseOrderItem.Description,
+                            // RetainagePercent = ,
+                            DeliveryDate = purchaseOrderItem.ReceivedDate,
+                            //ScopeOfWork
+                            Job = purchaseOrderItem.Job.JobNumber,
+                            //Extra = purchaseOrderItem.Job
+                            CostCode = purchaseOrderItem.CostCentre.Code,
+                            //Category = purchaseOrderItem.cat
+                            TaxGroup = purchaseOrderItem.TaxCode.Code,
+                            Units = purchaseOrderItem.Qty,
+                            UnitCost = purchaseOrderItem.Cost,
+                            UnitDescription = purchaseOrderItem.Dimensions.UnitSize,
+                            Amount = purchaseOrderItem.IncTax,
+                            // BoughtOut
+                        };
+
+                        if (!ProcessLine(model, purchaseOrderItem, ci))
+                        {
+                            success = false;
+                            break;
+                        }
+                        c.Lines.Add(ci);
+                    }
+                    if (success)
+                    {
+                        foreach (var item in POItems)
+                        {
+                            cs.AddFragment(item);
+                        }
+                        cs.AddSuccess(purchaseOrder, c);
+                    }
+                    else
+                    {
+                        cs.AddFailed(purchaseOrder, "Failed by script.");
+                    }
+                }
+            }*/
+            return result;
+        }
+
+        public IPostResult<StockMovement> Process(IDataModel<StockMovement> model)
+        {
+            var result = DoProcess(model);
+
+            var dlg = new SaveFileDialog()
+            {
+                Filter = "CSV Files (*.csv)|*.csv"
+            };
+
+            if (dlg.ShowDialog() == true)
+            {
+                using (var writer = new StreamWriter(dlg.FileName))
+                {
+                    using var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
+                    foreach (var line in result.Exports)
+                    {
+                        // Write the record.
+                        if(line is StockMovementTimberlineDirectCost dc)
+                        {
+                            csv.WriteRecord(dc);
+                        }
+                        else if(line is StockMovementTimberlineGL gl)
+                        {
+                            csv.WriteRecord(gl);
+                        }
+                    }
+                }
+            }
+            else
+            {
+                throw new PostCancelledException();
+            }
+            return result;
+        }
+        public void AfterPost(IDataModel<StockMovement> model, IPostResult<StockMovement> result)
+        {
+            Script?.Execute(methodname: "AfterPost", parameters: new object[] { model });
+        }
+    }
+
+    public class StockMovementTimberlinePosterEngine<T> : TimberlinePosterEngine<StockMovement, StockMovementTimberlineSettings>
+    {
+    }
+}