Compare commits
8 Commits
feat/sched
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 5126f3799d | |||
| 7a0e256f07 | |||
| 2b5fbaca00 | |||
| 473556a45d | |||
| 604d1ee1cf | |||
| e095cb94e4 | |||
| fa25620b7a | |||
| 111eca413e |
@@ -173,4 +173,4 @@
|
||||
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"}}
|
||||
:plaid {:base-url "https://production.plaid.com"
|
||||
:client-id "61bfab05f7e762001b323f79"
|
||||
:secret-key "2be026ca5e7f7e9f23f2fb4d7c914d"}}
|
||||
:secret-key "44a05fbe9f33a2975b3b3ac06b0b62"}}
|
||||
|
||||
@@ -31,5 +31,5 @@
|
||||
:yodlee2-proxy-port 8888
|
||||
:plaid {:base-url "https://production.plaid.com"
|
||||
:client-id "61bfab05f7e762001b323f79"
|
||||
:secret-key "2be026ca5e7f7e9f23f2fb4d7c914d"}
|
||||
:secret-key "44a05fbe9f33a2975b3b3ac06b0b62"}
|
||||
}
|
||||
|
||||
@@ -34,5 +34,5 @@
|
||||
:yodlee2-proxy-port 8888
|
||||
:plaid {:base-url "https://production.plaid.com"
|
||||
:client-id "61bfab05f7e762001b323f79"
|
||||
:secret-key "2be026ca5e7f7e9f23f2fb4d7c914d"}
|
||||
:secret-key "44a05fbe9f33a2975b3b3ac06b0b62"}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
:scheme "https"
|
||||
:dd-env "prod"
|
||||
:dd-service "integreat-app"
|
||||
:jwt-secret "auto ap invoices are awesome"
|
||||
:jwt-secret "rotated secrets are the best"
|
||||
:invoice-import-queue-url "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod"
|
||||
:requests-queue-url "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-background-request-prod"
|
||||
:invoice-email "invoices@mail.app.integreatconsult.com"
|
||||
@@ -25,13 +25,13 @@
|
||||
:run-background? false
|
||||
:run-web? true
|
||||
:yodlee2-integreat-user "integreat-main"
|
||||
:yodlee2-client-id "3AATcwfPsWP1rP9oDoo4HvZhtaroGVcA"
|
||||
:yodlee2-client-secret "cXTBmKbGfkaBFIpM"
|
||||
:yodlee2-client-id "lNgzSdjkVXSkXyOBlResXUsCpCpBBDlG"
|
||||
:yodlee2-client-secret "U3qjZP2gErZfbuTPud+LNJF9jHbNRzCWCZbEi6dDiHsziCNwI5yNNNrBAUsnjcu7VFsUVNmkxNKSW85Qf1YMOITC7q0kdv7MGv/ZqRLfQV5odkiPbLHgOrE7UE6//MtjU0jTznGA70WTPS+wwmugg8ArNnx+4QCHrrBrkRfFVOE="
|
||||
:yodlee2-base-url "https://production.api.yodlee.com/ysl"
|
||||
:yodlee2-fastlink "https://fl4.prod.yodlee.com/authenticate/USDevexProd2-319/fastlink/?channelAppName=usdevexprod2"
|
||||
:yodlee2-proxy-host "172.31.10.83"
|
||||
:yodlee2-proxy-port 8888
|
||||
:plaid {:base-url "https://production.plaid.com"
|
||||
:client-id "61bfab05f7e762001b323f79"
|
||||
:secret-key "2be026ca5e7f7e9f23f2fb4d7c914d"}
|
||||
:secret-key "44a05fbe9f33a2975b3b3ac06b0b62"}
|
||||
}
|
||||
|
||||
BIN
dev-resources/Statement1_from_REEL_Produce_Inc.28676.pdf
Normal file
BIN
dev-resources/Statement1_from_REEL_Produce_Inc.28676.pdf
Normal file
Binary file not shown.
@@ -6,10 +6,10 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
4,PAPER & DISP,STRAW PLAS TRANS JMB WRPD 7.75,Paper Costs,55000,
|
||||
5,PAPER & DISP,FORK PLAS BLK PLA COMPOSTABLE,Paper Costs,55000,
|
||||
6,PAPER & DISP,BAG PLAS LOGO 3 CLR,Paper Costs,55000,
|
||||
7,FROZEN,BREAD PITA GYRO PRE-OILED 7,Food Costs,50000,
|
||||
7,FROZEN,BREAD PITA GYRO PRE-OILED 7,Bread and Bun Costs,51400,
|
||||
8,DAIRY PRODUCTS,YOGURT FRZN TART,Dairy Costs,51300,
|
||||
9,POULTRY,GYRO CHICKEN SHAWARMA CONE,Chicken/ Poultry Costs,51120,
|
||||
10,FROZEN,BAKLAVA CLASSIC 2X24,Food Costs,50000,
|
||||
10,FROZEN,BAKLAVA CLASSIC 2X24,Dry Goods Costs,51500,
|
||||
11,MEATS,PORK SLI GYRO CONE,Beef/Pork Costs,51110,
|
||||
12,DAIRY PRODUCTS,SAUCE TZATZIKI,Dairy Costs,51300,
|
||||
13,POULTRY,CHICKEN CVP THIGH BNLS SKLS,Chicken/ Poultry Costs,51120,
|
||||
@@ -19,7 +19,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
17,CANNED AND DRY,RICE BASMATI STEAMED XTRA LNG,Food Costs,50000,
|
||||
18,CANNED AND DRY,WATER SPARKLING GREEK,Beverages Costs,52000,
|
||||
19,DAIRY PRODUCTS,SAUCE SPICY YOGURT LOGO,Dairy Costs,51300,
|
||||
20,CANNED AND DRY,WATER PURIFIED .5,Food Costs,50000,
|
||||
20,CANNED AND DRY,WATER PURIFIED .5,Soft Beverage Cost,52000,
|
||||
21,FROZEN,DOUGH PASTRY HNY PUFF,Food Costs,50000,
|
||||
22,DAIRY PRODUCTS,YOGURT PLAIN GREEK NON-FAT,Dairy Costs,51300,
|
||||
23,PAPER & DISP,GLOVE NITRILE LARGE,Paper Costs,55000,
|
||||
@@ -43,39 +43,39 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
41,CANNED AND DRY,WATER BOTTLED DRINKING,Food Costs,50000,
|
||||
42,CANNED AND DRY,SODA CHERRY VISSINADA GRK PLAS,Food Costs,50000,
|
||||
43,CANNED AND DRY,SODA LEMON LEMONADA GREEK,Soft Beverage Costs,52000,
|
||||
44,CANNED AND DRY,WATER MINERAL CARNONATED GREEK,Food Costs,50000,
|
||||
44,CANNED AND DRY,WATER MINERAL CARNONATED GREEK,Soft Beverage Cost,52000,
|
||||
45,DISPENSER BEVRG,SYRUP COLA PEPSI BIB,Soft Beverage Costs,52000,
|
||||
46,DISPENSER BEVRG,SYRUP LEMONADE PNK BIB,Soft Beverage Costs,52000,
|
||||
47,CANNED AND DRY,RICE BASMATI PABROIL SELA CS,Food Costs,50000,
|
||||
48,CANNED AND DRY,KETCHUP FANCY,Food Costs,50000,
|
||||
47,CANNED AND DRY,RICE BASMATI PABROIL SELA CS,Dry Goods Costs,51500,
|
||||
48,CANNED AND DRY,KETCHUP FANCY,Dry Goods Costs,51500,
|
||||
49,CANNED AND DRY,TUB & HUMMUS,Food Costs,50000,
|
||||
50,CHEMICAL/JANTRL,SANITIZER MULTI QUAT LIQ,Food Costs,50000,
|
||||
50,CHEMICAL/JANTRL,SANITIZER MULTI QUAT LIQ,Cleaning Supplies,74100,
|
||||
51,DAIRY PRODUCTS,YOGURT PLAIN GRK 5%,Dairy Costs,51300,
|
||||
52,FROZEN,APTZR VEG FALAFEL BALL,Food Costs,50000,
|
||||
52,FROZEN,APTZR VEG FALAFEL BALL,Dry Goods Costs,51500,
|
||||
53,PAPER & DISP,BOWL PAPER FIBER RND 32OZ 8IN,Paper Costs,55000,
|
||||
54,PAPER & DISP,LID PLAS F/BOWL RND 8,Paper Costs,55000,
|
||||
55,MEATS,BEEF GRND CHUCK FINE 80/20FRSH,Beef/Pork Costs,51110,
|
||||
56,CANNED AND DRY,SODA ORANGE CRSH,Food Costs,50000,
|
||||
56,CANNED AND DRY,SODA ORANGE CRSH,Soft Beverage Cost,52000,
|
||||
57,PAPER & DISP,CONTAINER PLAS CLR BAR LK 5 IN,Paper Costs,55000,
|
||||
58,CANNED AND DRY,KETCHUP PACKET FCY,Food Costs,50000,
|
||||
58,CANNED AND DRY,KETCHUP PACKET FCY,Dry Goods Costs,51500,
|
||||
59,PAPER & DISP,BAG PLAS WAVE TOP LOGO 18X16,Paper Costs,55000,
|
||||
60,CANNED AND DRY,DRESSING VINAIGRETTE LOGO,Food Costs,50000,
|
||||
60,CANNED AND DRY,DRESSING VINAIGRETTE LOGO,Dressing & Sauce Cost,51450,
|
||||
61,PAPER & DISP,CONTAINER PAPER MLD FBR 9X6,Paper Costs,55000,
|
||||
62,PAPER & DISP,BOWL PAPER MLD FBR 32OZ NFA,Paper Costs,55000,
|
||||
63,PAPER & DISP,CONTAINER PLAS 120Z SUNDAE,Paper Costs,55000,
|
||||
64,CANNED AND DRY,DRESSING VINAIGRETTE GYRO,Food Costs,50000,
|
||||
65,CANNED AND DRY,VINEGAR WINE RED 5% 50 GRN,Alcohol Costs,54000,
|
||||
66,DAIRY PRODUCTS,EGG SHELL LG WHT AA CA CGFREE,Dairy Costs,51300,
|
||||
67,CANNED AND DRY,DRESSING MARINADE SOUVLAKI,Food Costs,50000,
|
||||
68,CANNED AND DRY,SAUCE MUSTARD,Food Costs,50000,
|
||||
67,CANNED AND DRY,DRESSING MARINADE SOUVLAKI,Dressing & Sauce Cost,51450,
|
||||
68,CANNED AND DRY,SAUCE MUSTARD,Dressing & Sauce Cost,51450,
|
||||
69,CANNED AND DRY,TEA ICED SWEET PURELEAF,Beverages Costs,52000,
|
||||
70,PAPER & DISP,LINER TRASH 40X46 1.1 ML GRY,Paper Costs,55000,
|
||||
71,CANNED AND DRY,SODA COLA,Soft Beverage Costs,52000,
|
||||
72,CANNED AND DRY,HONEY PURE CLOVER GR A TSC JUG,Food Costs,50000,
|
||||
72,CANNED AND DRY,HONEY PURE CLOVER GR A TSC JUG,Dry Goods Costs,51500,
|
||||
73,DAIRY PRODUCTS,CHEESE FETA RW,Dairy Costs,51300,
|
||||
74,CANNED AND DRY,WATER PURIFIED BTL PET LSE DW,Food Costs,50000,
|
||||
74,CANNED AND DRY,WATER PURIFIED BTL PET LSE DW,Soft Beverage Cost,52000,
|
||||
75,PRODUCE,JUICE LEMON FRESH PSTRZD,Produce Costs,51200,
|
||||
76,CANNED AND DRY,SPREAD HUMMUS TRADITIONAL,Food Costs,50000,
|
||||
76,CANNED AND DRY,SPREAD HUMMUS TRADITIONAL,Dressing & Sauce Cost,51450,
|
||||
77,PRODUCE,LETTUCE ROMAINE OF HEART FRSH,Produce Costs,51200,
|
||||
78,PAPER & DISP,CONTAINER PAPER #1/30OZ NTG,Paper Costs,55000,
|
||||
79,CANNED AND DRY,OIL SALAD CANOLA ZTF,Food Costs,50000,
|
||||
@@ -84,7 +84,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
82,POULTRY,CHICKEN CVP WHL WOG NAE 3.5-4#,Chicken/ Poultry Costs,51120,
|
||||
83,PAPER & DISP,GLOVE NITRILE FDSRV PF BLU LRG,Paper Costs,55000,
|
||||
84,CANNED AND DRY,RICE BASMATI CHEF SECRT LG GRN,Food Costs,50000,
|
||||
85,FROZEN,APTZR VEG FALAFEL PUCK HALAL,Food Costs,50000,
|
||||
85,FROZEN,APTZR VEG FALAFEL PUCK HALAL,Dry Goods Costs,51500,
|
||||
86,PAPER & DISP,LID PLAS PET FOR 32OZ BOWL,Paper Costs,55000,
|
||||
87,PAPER & DISP,FORK PLAS PP X-HVY BLK,Paper Costs,55000,
|
||||
88,PRODUCE,TOMATO ROMA JUMBO FRESH,Produce Costs,51200,
|
||||
@@ -95,7 +95,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
93,PRODUCE,SPINACH BABY FRSH,Produce Costs,51200,
|
||||
94,PRODUCE,DILL BABY FRESH HERB,Produce Costs,51200,
|
||||
95,PRODUCE,CUCUMBER ENGLISH MED SEEDLESS,Produce Costs,51200,
|
||||
96,CANNED AND DRY,SODA ORANGE PORTOKALADA GREEK,Food Costs,50000,
|
||||
96,CANNED AND DRY,SODA ORANGE PORTOKALADA GREEK,Soft Beverage Cost,52000,
|
||||
97,DAIRY PRODUCTS,BUTTER SOLID USDA AA UNSLTD,Dairy Costs,51300,
|
||||
98,DAIRY PRODUCTS,CHEESE MONT JACK SLI INT .75OZ,Dairy Costs,51300,
|
||||
99,DAIRY PRODUCTS,CREAMER HALF & HALF SHF STBL,Dairy Costs,51300,
|
||||
@@ -115,18 +115,18 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
113,CANNED AND DRY,FLOUR ALL PURP H&R BL EN MT,Food Costs,50000,
|
||||
114,CANNED AND DRY,JAM STRAWBERRY CUP,Food Costs,50000,
|
||||
115,CANNED AND DRY,MARMALADE ORANGE CUP,Food Costs,50000,
|
||||
116,CANNED AND DRY,SALT GRANULATED PLAIN,Food Costs,50000,
|
||||
116,CANNED AND DRY,SALT GRANULATED PLAIN,Dry Goods Costs,51500,
|
||||
117,CANNED AND DRY,SAUCE HOT PEPPER CALIFN STYLE,Food Costs,50000,
|
||||
118,CANNED AND DRY,SAUCE STEAK GLASS,Food Costs,50000,
|
||||
119,CANNED AND DRY,SHORTENING PAN & GRILL,Food Costs,50000,
|
||||
120,CANNED AND DRY,SUGAR GRANULATED XFINE CANE,Food Costs,50000,
|
||||
120,CANNED AND DRY,SUGAR GRANULATED XFINE CANE,Dry Goods Costs,51500,
|
||||
121,CANNED AND DRY,SYRUP BREAKFAST CUP,Food Costs,50000,
|
||||
122,CANNED AND DRY,SYRUP PANCAKE & WAFFLE,Food Costs,50000,
|
||||
123,PAPER & DISP,BAG PLAS TSHRT 11.5X6.5X21 TKU,Paper Costs,55000,
|
||||
124,PAPER & DISP,CONTAINER PLAS DELI TRANS W/LD,Paper Costs,55000,
|
||||
125,PAPER & DISP,CONTAINER PLAS HNG WHT 8.5 1C,Paper Costs,55000,
|
||||
126,PAPER & DISP,CUP PLAS PRTN TRANS 2OZ,Paper Costs,55000,
|
||||
127,PAPER & DISP,FOIL ALMN ROLL STD WGT 500FT,Paper Costs,55000,
|
||||
127,PAPER & DISP,FOIL ALMN ROLL STD WGT 500FT,Dry Goods Costs,51500,
|
||||
128,PAPER & DISP,LINER TRASH 40X46 1.6 ML BLK,Paper Costs,55000,
|
||||
129,PAPER & DISP,TOWEL MULTI 9.5X9.12 EARTH+,Paper Costs,55000,
|
||||
130,PRODUCE,ASPARAGUS FRESH LARGE FX,Produce Costs,51200,
|
||||
@@ -155,7 +155,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
153,DAIRY PRODUCTS,MILK WHL CORRUGATE,Dairy Costs,51300,
|
||||
154,DAIRY PRODUCTS,BUTTERMILK 1% HG,Dairy Costs,51300,
|
||||
155,DAIRY PRODUCTS,CHEESE CHDR MLD SLI INT .75 YL,Dairy Costs,51300,
|
||||
156,CHEMICAL/JANTRL,BLEACH LIQ GRMCDL ULTRA 6%,Food Costs,50000,
|
||||
156,CHEMICAL/JANTRL,BLEACH LIQ GRMCDL ULTRA 6%,Cleaning Supplies,74100,
|
||||
157,POULTRY,TURKEY BRST NAT BRN PAN SKON,Poultry Costs,51120,
|
||||
158,DAIRY PRODUCTS,CREAM HEAVY 40% FRESH HG,Dairy Costs,51300,
|
||||
159,MEATS,BACON SHINGLE 10/12 HY GF PR12,Beef/Pork Costs,51110,
|
||||
@@ -194,7 +194,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
192,PAPER & DISP,BOWL PAPER MOLDED FIBER 32OZ,Paper Costs,55000,
|
||||
193,PAPER & DISP,BOX CORR CATER #1 LOGO 2021,Paper Costs,55000,
|
||||
194,DISPENSER BEVRG,SYRUP LEMONADE BIB,Soft Beverage Costs,52000,
|
||||
195,PAPER & DISP,FOIL ALMN ROLL HVY WGT 500 FT,Paper Costs,55000,
|
||||
195,PAPER & DISP,FOIL ALMN ROLL HVY WGT 500 FT,Dry Goods Costs,51500,
|
||||
196,DAIRY PRODUCTS,CHEESE FETA CHUNKS IN BRNE,Dairy Costs,51300,
|
||||
197,POULTRY,CHICKEN CVP WOG WHL HAL,Chicken/ Poultry Costs,51120,
|
||||
198,PAPER & DISP,CONTAINER MFPP 1C HNG 9X6 WHT,Paper Costs,55000,
|
||||
@@ -203,11 +203,11 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
201,DISPENSER BEVRG,SYRUP LEMON LIME BIB,Soft Beverage Costs,52000,
|
||||
202,DAIRY PRODUCTS,CHEESE FETA PAIL,Dairy Costs,51300,
|
||||
203,CANNED AND DRY,CHGS FOR MINIMUM ORDER,Food Costs,50000,
|
||||
204,CANNED AND DRY,BREAD CRUMB PLAIN MED,Food Costs,50000,
|
||||
205,CANNED AND DRY,DRESSING SALAD PRASINI,Food Costs,50000,
|
||||
206,CANNED AND DRY,OIL CORN,Food Costs,50000,
|
||||
207,CANNED AND DRY,OLIVE KALAMATA PTD BRNE 22 LB,Food Costs,50000,
|
||||
208,CANNED AND DRY,SPICE TURMERIC GROUND,Food Costs,50000,
|
||||
204,CANNED AND DRY,BREAD CRUMB PLAIN MED,Dry Goods Costs,51500,
|
||||
205,CANNED AND DRY,DRESSING SALAD PRASINI,Dressing & Sauce Cost,51450,
|
||||
206,CANNED AND DRY,OIL CORN,Dressing & Sauce Cost,51450,
|
||||
207,CANNED AND DRY,OLIVE KALAMATA PTD BRNE 22 LB,Produce Costs,51200,
|
||||
208,CANNED AND DRY,SPICE TURMERIC GROUND,Dry Goods Costs,51500,
|
||||
209,PRODUCE,SQUASH ZUCCHINI MEDIUM FRESH,Produce Costs,51200,
|
||||
210,PRODUCE,ONION GREEN ICELS ROOTLESS,Produce Costs,51200,
|
||||
211,CANNED AND DRY,SODA COLA PEPSI ZERO,Soft Beverage Costs,52000,
|
||||
@@ -219,7 +219,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
217,FROZEN,BAKLAVA GREEK PASTRY,Food Costs,50000,
|
||||
218,DISPENSER BEVRG,SYRUP DR PPR DIET BIB,Soft Beverage Costs,52000,
|
||||
219,DISPENSER BEVRG,SYRUP MOUNTAIN DEW BIB,Soft Beverage Costs,52000,
|
||||
220,CANNED AND DRY,SAUCE CHILI HOT SRIRACHA,Food Costs,50000,
|
||||
220,CANNED AND DRY,SAUCE CHILI HOT SRIRACHA,Dry Goods Costs,51500,
|
||||
221,PAPER & DISP,SKEWER BAMBOO 10IN,Paper Costs,55000,
|
||||
222,CANNED AND DRY,RICE BASMATI,Food Costs,50000,
|
||||
223,PAPER & DISP,WRAP PAPER 14X14 LOGO,Paper Costs,55000,
|
||||
@@ -227,12 +227,12 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
225,MEATS,PORK BUTT BNLS VP PR12,Beef/Pork Costs,51110,
|
||||
226,DAIRY PRODUCTS,YOGURT PLAIN GREEK NONFAT,Dairy Costs,51300,
|
||||
227,PAPER & DISP,TONG PLAS 9 BLK SNAP N SERVE,Paper Costs,55000,
|
||||
228,CANNED AND DRY,SAUCE HOT SRIRACHA,Food Costs,50000,
|
||||
228,CANNED AND DRY,SAUCE HOT SRIRACHA,Dry Goods Costs,51500,
|
||||
229,DISPENSER BEVRG,SYRUP DR PEPPER BIB,Soft Beverage Costs,52000,
|
||||
230,HLTHCAR/HOSPITALITY,BILLING MISC REGULAR,Food Costs,50000,
|
||||
231,PAPER & DISP,FORK PLAS BLK MEDHVY MDLNGTH,Paper Costs,55000,
|
||||
232,DAIRY PRODUCTS,YOGURT PLAIN ORIGINAL FTFR,Dairy Costs,51300,
|
||||
233,SUPP & EQUIP,MOP HEAD BLND LPD ALL PURP LRG,Food Costs,50000,
|
||||
233,SUPP & EQUIP,MOP HEAD BLND LPD ALL PURP LRG,Cleaning Supplies,74100,
|
||||
234,PAPER & DISP,SPOON PLAS WHT MEDHVY MDLNGTH,Paper Costs,55000,
|
||||
235,MEATS,BEEF GROUND BULK NAT 80/20,Beef/Pork Costs,51110,
|
||||
236,PAPER & DISP,CONTAINER PAPER HNG 9X6 PFF,Paper Costs,55000,
|
||||
@@ -245,9 +245,9 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
243,PRODUCE,CUCUMBER ENGLISH FRSH,Produce Costs,51200,
|
||||
244,PAPER & DISP,FORK PLAS WHT MED HVY MDLNGTH,Paper Costs,55000,
|
||||
245,PAPER & DISP,CUP PLAS 12-14OZ CLR STRT WALL,Paper Costs,55000,
|
||||
246,CANNED AND DRY,SAUCE HOT BOTTLE,Food Costs,50000,
|
||||
247,CANNED AND DRY,OIL OLIVE BLEND 80/20,Food Costs,50000,
|
||||
248,CANNED AND DRY,SPICE OREGANO LEAF RUBBED,Food Costs,50000,
|
||||
246,CANNED AND DRY,SAUCE HOT BOTTLE,Dry Goods Costs,51500,
|
||||
247,CANNED AND DRY,OIL OLIVE BLEND 80/20,Dry Goods Costs,51500,
|
||||
248,CANNED AND DRY,SPICE OREGANO LEAF RUBBED,Dry Goods Costs,51500,
|
||||
249,DAIRY PRODUCTS,YOGURT VANILLA GREEK NFAT,Dairy Costs,51300,
|
||||
250,FROZEN,BUN BRIOCHE HOMESTYLE 4,Food Costs,50000,
|
||||
251,CANNED AND DRY,WATER SPRKLG IMPRTD MNERAL GLS,Food Costs,50000,
|
||||
@@ -260,18 +260,18 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
258,CANNED AND DRY,PEPPER GREEN CHILI WHL,Food Costs,50000,
|
||||
259,CANNED AND DRY,PEPPER JALAPENO SLI FIELD RUN,Food Costs,50000,
|
||||
260,CANNED AND DRY,SAUCE MIX HOLLANDAISE GF,Food Costs,50000,
|
||||
261,CANNED AND DRY,VINEGAR DISTILLED WHITE 5%,Food Costs,50000,
|
||||
261,CANNED AND DRY,VINEGAR DISTILLED WHITE 5%,Dry Goods Costs,51500,
|
||||
262,PAPER & DISP,COVER TOILET SEAT,Paper Costs,55000,
|
||||
263,PAPER & DISP,FILM PVC 2000FT ROLL,Paper Costs,55000,
|
||||
264,PAPER & DISP,DOILY PAPER NRMDY LACE 6,Paper Costs,55000,
|
||||
265,PAPER & DISP,KIT CUTLERY MED PP KFS S&P NAP,Paper Costs,55000,
|
||||
266,PAPER & DISP,NAPKIN DNR 2P 15X16.25 1/8F WH,Paper Costs,55000,
|
||||
267,CHEMICAL/JANTRL,DETERGENT POT/PAN LIQ PINK RTU,Food Costs,50000,
|
||||
267,CHEMICAL/JANTRL,DETERGENT POT/PAN LIQ PINK RTU,Cleaning Supplies,74100,
|
||||
268,CHEMICAL/JANTRL,SALT GRANULE SOLAR WATER SOFT,Food Costs,50000,
|
||||
269,PRODUCE,CARROT FRESH JUMBO,Produce Costs,51200,
|
||||
270,PRODUCE,LIME FRESH 200CT,Produce Costs,51200,
|
||||
271,PAPER & DISP,CUP PLAS RPET CLR 16 OZ,Paper Costs,55000,
|
||||
272,CANNED AND DRY,SAUCE HOT,Food Costs,50000,
|
||||
272,CANNED AND DRY,SAUCE HOT,Dry Goods Costs,51500,
|
||||
273,MEATS,BACON SHINGLE 10/12 AW GF PR12,Beef/Pork Costs,51110,
|
||||
274,PAPER & DISP,CRAYON RED BLUE YEL GREEN,Paper Costs,55000,
|
||||
275,DAIRY PRODUCTS,CREAMER HALF AND HALF PC ASEP,Dairy Costs,51300,
|
||||
@@ -282,7 +282,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
280,CANNED AND DRY,KETCHUP SQUEEZE UPSIDE DOWN,Food Costs,50000,
|
||||
281,PAPER & DISP,GLOVE NITRILE FDSRV PF BLK LRG,Paper Costs,55000,
|
||||
282,MEATS,BEEF GRND CHUCK 81/19 CHUB FRS,Beef/Pork Costs,51110,
|
||||
283,PAPER & DISP,LID FOIL F/FULL STM TBL PAN,Paper Costs,55000,
|
||||
283,PAPER & DISP,LID FOIL F/FULL STM TBL PAN,Dry Goods Costs,51500,
|
||||
284,PAPER & DISP,FORK WOODEN DISP,Paper Costs,55000,
|
||||
285,PAPER & DISP,SKEWER BAMBOO THIN 8 IN,Paper Costs,55000,
|
||||
286,PAPER & DISP,WRAP DELI WHT 12X12 GRS RESIST,Paper Costs,55000,
|
||||
@@ -292,9 +292,9 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
290,PAPER & DISP,TRAY FOOD PAPER #2 LOGO,Paper Costs,55000,
|
||||
291,PAPER & DISP,LID PLAS CLR F/1.5-2.5OZ PRTN,Paper Costs,55000,
|
||||
292,DISPENSER BEVRG,SYRUP TEA RASP 5X1 BRISK,Soft Beverage Costs,52000,
|
||||
293,PAPER & DISP,PAN FOIL STM TBL FULL DP 3-3/8,Paper Costs,55000,
|
||||
293,PAPER & DISP,PAN FOIL STM TBL FULL DP 3-3/8,Dry Goods Costs,51500,
|
||||
294,DISPENSER BEVRG,SYRUP ROOT BEER BIB,Soft Beverage Costs,52000,
|
||||
295,PAPER & DISP,FOIL ALMN ROLL HVY WGT 1000 FT,Paper Costs,55000,
|
||||
295,PAPER & DISP,FOIL ALMN ROLL HVY WGT 1000 FT,Dry Goods Costs,51500,
|
||||
296,DAIRY PRODUCTS,CHEESE GORGONZOLA WHEEL HALF,Dairy Costs,51300,
|
||||
297,DAIRY PRODUCTS,CHEESE MOZZ WM SHRED GOLD PREM,Dairy Costs,51300,
|
||||
298,DAIRY PRODUCTS,CREAM SOUR CULTRD GRADE A,Dairy Costs,51300,
|
||||
@@ -311,7 +311,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
309,SEAFOOD,SCALLOP SEA WTR ADD 10/20 USA,Seafood Costs,51130,
|
||||
310,MEATS,BACON SLAB SLI 13/17 CT PR12,Beef/Pork Costs,51110,
|
||||
311,CANNED AND DRY,DRESSING MIX RANCH,Food Costs,50000,
|
||||
312,FROZEN,BUN BRIOCHE HOMESTYLE 4.25,Food Costs,50000,
|
||||
312,FROZEN,BUN BRIOCHE HOMESTYLE 4.25,Bread and Bun Costs,51400,
|
||||
313,CANNED AND DRY,SODA LEMON LIME,Soft Beverage Costs,52000,
|
||||
314,FROZEN,PUREE ORANGE BLOOD CONCENTRATE,Food Costs,50000,
|
||||
315,CANNED AND DRY,FLOUR HI-GLUTEN BL EN MT AA,Dry Good Costs,51500,
|
||||
@@ -327,23 +327,23 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
325,DAIRY PRODUCTS,CHEESE FETA CHUNKS PAIL PREM,Dairy Costs,51300,
|
||||
326,PRODUCE,PEPPER GREEN BELL LARGE FRESH,Produce Costs,51200,
|
||||
327,PRODUCE,TOMATO ROMA FRSH,Produce Costs,51200,
|
||||
328,CHEMICAL/JANTRL,CLEANER DEGREASER OVEN RTU,Food Costs,50000,
|
||||
328,CHEMICAL/JANTRL,CLEANER DEGREASER OVEN RTU,Cleaning Supplies,74100,
|
||||
329,PAPER & DISP,BOX CORR CATER #4 LOGO 2021,Paper Costs,55000,
|
||||
330,PAPER & DISP,LID PLAS HI DOME DESSRT,Paper Costs,55000,
|
||||
331,MEATS,PORK BUTT BNLS 1/4 6-9#EA,Beef/Pork Costs,51110,
|
||||
332,PAPER & DISP,CUP PAPER HOT WHT TALL 12OZ,Paper Costs,55000,
|
||||
333,PAPER & DISP,SPOON PLAS SOUP BLACK XHEAVY,Paper Costs,55000,
|
||||
334,PAPER & DISP,FOIL ALMN ROLL STD WGT 1000 FT,Paper Costs,55000,
|
||||
335,SUPP & EQUIP,PAD SCRUB STNLS 50GR 1.75OZ,Food Costs,50000,
|
||||
334,PAPER & DISP,FOIL ALMN ROLL STD WGT 1000 FT,Dry Goods Costs,51500,
|
||||
335,SUPP & EQUIP,PAD SCRUB STNLS 50GR 1.75OZ,Cleaning Supplies,74100,
|
||||
336,DISPENSER BEVRG,SYRUP TEA UNSWTD 5X1,Soft Beverage Costs,52000,
|
||||
337,FROZEN,BUN BRIOCHE SPLIT TOP 4IN SLI,Food Costs,50000,
|
||||
337,FROZEN,BUN BRIOCHE SPLIT TOP 4IN SLI,Bread and Bun Costs,51400,
|
||||
338,CANNED AND DRY,WATER MINERAL LIMONATA CAN,Beverages Costs,52000,
|
||||
339,PRODUCE,GARLIC PEELED CHINESE,Produce Costs,51200,
|
||||
340,PAPER & DISP,LID PLAS FLAT F/12-24Z PET CUP,Paper Costs,55000,
|
||||
341,FROZEN,BILLING MISC FROZEN,Food Costs,50000,
|
||||
342,PAPER & DISP,KNIFE PLAS BLK PLA COMPSTABLE,Paper Costs,55000,
|
||||
343,PAPER & DISP,GLOVE NITRILE MED,Paper Costs,55000,
|
||||
344,SUPP & EQUIP,GRILL BRICK 3.5IN THICK,Food Costs,50000,
|
||||
344,SUPP & EQUIP,GRILL BRICK 3.5IN THICK,Cleaning Supplies,74100,
|
||||
345,PRODUCE,CABBAGE SAVOY FRSH,Produce Costs,51200,
|
||||
346,PRODUCE,FLOWER ORCHID MULTI COLORED,Produce Costs,51200,
|
||||
347,CANNED AND DRY,OIL AVOCADO,Food Costs,50000,
|
||||
@@ -393,7 +393,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
391,PAPER & DISP,TOWEL MULTIFOLD 9.4X9.2 WHT 1P,Paper Costs,55000,
|
||||
392,PAPER & DISP,TISSUE TOILET WRPD 4X3.8 2PLY,Paper Costs,55000,
|
||||
393,MEATS,BEEF GRND 80/20 BULK,Beef/Pork Costs,51110,
|
||||
394,CANNED AND DRY,MAYONNAISE HEAVY DUTY,Food Costs,50000,
|
||||
394,CANNED AND DRY,MAYONNAISE HEAVY DUTY,Dressing & Sauce Cost,51450,
|
||||
395,PAPER & DISP,CONTAINER PLAS HNG 9X6 WHT,Paper Costs,55000,
|
||||
396,PAPER & DISP,SPOON PLASTIC BLK BAGGED,Paper Costs,55000,
|
||||
397,PAPER & DISP,FORK PLAS BLK HVY FULL LNGTH,Paper Costs,55000,
|
||||
@@ -406,7 +406,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
404,CANNED AND DRY,BEAN BLACK,Food Costs,50000,
|
||||
405,CANNED AND DRY,SYRUP CHOCOLATE PLAS JUG,Food Costs,50000,
|
||||
406,CANNED AND DRY,TUNA LIGHT SKIPJACK CHUNK WTR,Food Costs,50000,
|
||||
407,CHEMICAL/JANTRL,DEGREASER HEAVY DUTY RTU,Food Costs,50000,
|
||||
407,CHEMICAL/JANTRL,DEGREASER HEAVY DUTY RTU,Cleaning Supplies,74100,
|
||||
408,CANNED AND DRY,JAM BLACKBERRY CUP,Food Costs,50000,
|
||||
409,CANNED AND DRY,PICKLE WHL DILL KO REF 75/85,Food Costs,50000,
|
||||
410,DAIRY PRODUCTS,CHEESE QUESO FRESCO CASERO,Dairy Costs,51300,
|
||||
@@ -423,7 +423,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
421,PAPER & DISP,CONTAINER PAPER HNG 9X6 FIB,Paper Costs,55000,
|
||||
422,PAPER & DISP,LINER REPRO 40X46 1.5 ML BLK,Paper Costs,55000,
|
||||
423,PAPER & DISP,TAPE PAPR REG THERMAL 3-1/8,Paper Costs,55000,
|
||||
424,SUPP & EQUIP,PAD SCOUR GRN 6X9IN ANTIMICRO,Food Costs,50000,
|
||||
424,SUPP & EQUIP,PAD SCOUR GRN 6X9IN ANTIMICRO,Cleaning Supplies,74100,
|
||||
425,PAPER & DISP,GLOVE NITRILE BLUE XL,Paper Costs,55000,
|
||||
426,PRODUCE,CUCUMBER ENGLISH LONG,Produce Costs,51200,
|
||||
427,PRODUCE,TOMATO ROMA MED,Produce Costs,51200,
|
||||
@@ -434,13 +434,13 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
432,POULTRY,CHICKEN CVP THIGH B/S HALAL JM,Chicken/ Poultry Costs,51120,
|
||||
433,CANNED AND DRY,DRESSING HONEY MUSTARD,Food Costs,50000,
|
||||
434,PRODUCE,JUICE LEMON PSTRZD ULTRA PREM,Produce Costs,51200,
|
||||
435,CANNED AND DRY,SPICE PAPRIKA GROUND,Food Costs,50000,
|
||||
435,CANNED AND DRY,SPICE PAPRIKA GROUND,Dry Goods Costs,51500,
|
||||
436,PAPER & DISP,FORK PLAS WHT HVY FULL LENGTH,Paper Costs,55000,
|
||||
437,PAPER & DISP,LID FOIL F/ HALF STMTBL PAN,Paper Costs,55000,
|
||||
437,PAPER & DISP,LID FOIL F/ HALF STMTBL PAN,Dry Goods Costs,51500,
|
||||
438,SUPP & EQUIP,PAN FOIL HALF DEEP 100CT,Food Costs,50000,
|
||||
439,PAPER & DISP,CONTAINER FOAM HNG LRG 1C,Paper Costs,55000,
|
||||
440,PAPER & DISP,LINER TRASH 40X48 13 MC NAT,Paper Costs,55000,
|
||||
441,CANNED AND DRY,KETCHUP FCY,Food Costs,50000,
|
||||
441,CANNED AND DRY,KETCHUP FCY,Dry Goods Costs,51500,
|
||||
442,PAPER & DISP,STRAW PLAS WRPD FLEX WHT 7.625,Paper Costs,55000,
|
||||
443,CANNED AND DRY,WATER SPRKLG CHRY/POMGRNT,Food Costs,50000,
|
||||
444,PAPER & DISP,APRON POLY EMBSD WHT 28X46 ECO,Paper Costs,55000,
|
||||
@@ -457,13 +457,13 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
455,SEAFOOD,CALAMARI TUBE & TNT 5-8 INCH,Seafood Costs,51130,
|
||||
456,SEAFOOD,SHRIMP CKD & PLD BAY 90\150 FZ,Seafood Costs,51130,
|
||||
457,SEAFOOD,SHRIMP WHT GH 16-20,Seafood Costs,51130,
|
||||
458,SUPP & EQUIP,BROOM ANGULAR FLAGGED,Food Costs,50000,
|
||||
458,SUPP & EQUIP,BROOM ANGULAR FLAGGED,Cleaning Supplies,74100,
|
||||
459,CANNED AND DRY,SAUCE CHILI SRIRACHA,Food Costs,50000,
|
||||
460,PAPER & DISP,CONTAINER PAPER #1 TK OUT KRFT,Paper Costs,55000,
|
||||
461,PAPER & DISP,SPOON PLAS BLK MEDHVY MDLNGTH,Paper Costs,55000,
|
||||
462,PAPER & DISP,LID PLAS F/ 12/16/21/24 CUPS,Paper Costs,55000,
|
||||
463,PAPER & DISP,GLOVE NITRILE FDSRV PF BLU XL,Paper Costs,55000,
|
||||
464,CANNED AND DRY,SODA ORANGE,Food Costs,50000,
|
||||
464,CANNED AND DRY,SODA ORANGE,Soft Beverage Cost,52000,
|
||||
465,PRODUCE,SQUASH ZUCCHINI MED FRSH,Produce Costs,51200,
|
||||
466,CANNED AND DRY,SPICE TURMERIC GRND ORGANIC,Food Costs,50000,
|
||||
467,CANNED AND DRY,WATER SPRING IMPORTED GLS,Food Costs,50000,
|
||||
@@ -474,9 +474,9 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
472,PAPER & DISP,GLOVE NITRILE BLK PEDRFREE LRG,Paper Costs,55000,
|
||||
473,PAPER & DISP,TRAY CARRYOUT 4CUP,Paper Costs,55000,
|
||||
474,PAPER & DISP,BAG PLAS T-SHRT THNKYOU12X7X22,Paper Costs,55000,
|
||||
475,PAPER & DISP,GRILL BRICK 3.5IN THICK,Paper Costs,55000,
|
||||
476,PAPER & DISP,PAD SCOUR GRN 6X9IN ANTIMICRO,Paper Costs,55000,
|
||||
477,PAPER & DISP,PAD SCRUB STNLS 50GR 1.75OZ,Paper Costs,55000,
|
||||
475,PAPER & DISP,GRILL BRICK 3.5IN THICK,Cleaning Supplies,74100,
|
||||
476,PAPER & DISP,PAD SCOUR GRN 6X9IN ANTIMICRO,Cleaning Supplies,74100,
|
||||
477,PAPER & DISP,PAD SCRUB STNLS 50GR 1.75OZ,Cleaning Supplies,74100,
|
||||
478,PAPER & DISP,LID TOGO PLAS F/12-16-32 OZ,Paper Costs,55000,
|
||||
479,PRODUCE,PEPPER GREEN BELL FRSH LG,Produce Costs,51200,
|
||||
480,DISPENSER BEVRG,SYRUP COLA WILD CHERRY,Soft Beverage Costs,52000,
|
||||
@@ -486,25 +486,25 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
484,PRODUCE,TOMATO ROMA FRESH,Produce Costs,51200,
|
||||
485,DAIRY PRODUCTS,YOGURT PLAIN GREEK WM 4% FAT,Dairy Costs,51300,
|
||||
486,CHEMICAL/JANTRL,CLEANER OVEN GREASESTRIP+ NP,Food Costs,50000,
|
||||
487,FROZEN,BUN BRIOCHE SLI 4.5,Food Costs,50000,
|
||||
487,FROZEN,BUN BRIOCHE SLI 4.5,Bread and Bun Costs,51400,
|
||||
488,PRODUCE,LEMON FRESH,Produce Costs,51200,
|
||||
489,SUPP & EQUIP,DISH SUPREME GLASS,Food Costs,50000,
|
||||
490,PAPER & DISP,CONTAINER POLYETHELYN,Paper Costs,55000,
|
||||
491,PAPER & DISP,FILTER GREASE CONE 10 IN,Paper Costs,55000,
|
||||
491,PAPER & DISP,FILTER GREASE CONE 10 IN,Cleaning Supplies,74100,
|
||||
492,PRODUCE,SQUASH ZUCCHINI FCY FRESH,Produce Costs,51200,
|
||||
493,CHEMICAL/JANTRL,CLEANER ALL PURPOSE PINE RTU,Food Costs,50000,
|
||||
494,CANNED AND DRY,KETCHUP PACKET FCY FOIL,Food Costs,50000,
|
||||
493,CHEMICAL/JANTRL,CLEANER ALL PURPOSE PINE RTU,Cleaning Supplies,74100,
|
||||
494,CANNED AND DRY,KETCHUP PACKET FCY FOIL,Dry Goods Costs,51500,
|
||||
495,PRODUCE,MUSHROOM PORTABELLA CP LRG FSH,Produce Costs,51200,
|
||||
496,PAPER & DISP,CONTAINER MINERAL 9X6 HNG 1CPT,Paper Costs,55000,
|
||||
497,PAPER & DISP,WRAP DRY WAX DELI HVY 10X10.75,Paper Costs,55000,
|
||||
498,PAPER & DISP,LID PLAS 12/16/22 OZ CUP,Paper Costs,55000,
|
||||
499,CHEMICAL/JANTRL,POLISH S-S SATIN SHINE ARSL,Food Costs,50000,
|
||||
500,CANNED AND DRY,SPICE MARJORAM LVS,Food Costs,50000,
|
||||
501,SUPP & EQUIP,BOTTLE PLASTIC SQUEEZE WIDEMTH,Food Costs,50000,
|
||||
502,PAPER & DISP,PAN FOIL STM TBL DEEPXH 2-9/16,Paper Costs,55000,
|
||||
499,CHEMICAL/JANTRL,POLISH S-S SATIN SHINE ARSL,Cleaning Supplies,74100,
|
||||
500,CANNED AND DRY,SPICE MARJORAM LVS,Dry Goods Costs,51500,
|
||||
501,SUPP & EQUIP,BOTTLE PLASTIC SQUEEZE WIDEMTH,Paperware Cost,55000,
|
||||
502,PAPER & DISP,PAN FOIL STM TBL DEEPXH 2-9/16,Dry Goods Costs,51500,
|
||||
503,PAPER & DISP,TONG PLAS BLK 6.25IN SM SRVING,Paper Costs,55000,
|
||||
504,PAPER & DISP,FORK PLAS WHT P/P,Paper Costs,55000,
|
||||
505,CHEMICAL/JANTRL,CLEANER DEGRSR HGH TMP GRL RTU,Food Costs,50000,
|
||||
505,CHEMICAL/JANTRL,CLEANER DEGRSR HGH TMP GRL RTU,Cleaning Supplies,74100,
|
||||
506,DISPENSER BEVRG,SYRUP BASE ORG CRSH BIB,Soft Beverage Costs,52000,
|
||||
507,PAPER & DISP,CONTAINER PAPER #4 TAKEOUT WHT,Paper Costs,55000,
|
||||
508,CANNED AND DRY,CAPER NONPAREIL IMPORTED,Food Costs,50000,
|
||||
@@ -515,7 +515,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
513,PAPER & DISP,FORK PLASTIC WRPD PP XHVY BLK,Paper Costs,55000,
|
||||
514,MEATS,LAMB RIBLET FZN,Meats Costs,51110,
|
||||
515,CANNED AND DRY,WATER BOTTLED,Food Costs,50000,
|
||||
516,CHEMICAL/JANTRL,SOAP HAND LIQ PINK RTU,Food Costs,50000,
|
||||
516,CHEMICAL/JANTRL,SOAP HAND LIQ PINK RTU,Cleaning Supplies,74100,
|
||||
517,PAPER & DISP,LINER TRASH 40X46 1.5 ML BLU,Paper Costs,55000,
|
||||
518,CANNED AND DRY,SYSCO CUSTOMER AGREEMENT,Food Costs,50000,
|
||||
519,CANNED AND DRY,HONEY WILDFLOWER BLOSSOM,Food Costs,50000,
|
||||
@@ -532,12 +532,12 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
530,CANNED AND DRY,JUICE APPLE GLASS FCY,Food Costs,50000,
|
||||
531,DAIRY PRODUCTS,MILK ALMOND BARISTA BLEND,Dairy Costs,51300,
|
||||
532,CANNED AND DRY,SPICE OREGANO LEAF,Food Costs,50000,
|
||||
533,CANNED AND DRY,SAUCE CHILI SRIRACHA CHA,Food Costs,50000,
|
||||
533,CANNED AND DRY,SAUCE CHILI SRIRACHA CHA,Dry Goods Costs,51500,
|
||||
534,CANNED AND DRY,OLIVE KALAMATA PTD PLAS KEG,Food Costs,50000,
|
||||
535,CANNED AND DRY,MUSTARD YELLOW PRPD,Food Costs,50000,
|
||||
536,CHEMICAL/JANTRL,CLEANER DEGRSR GREASELIFT RTU,Food Costs,50000,
|
||||
537,CANNED AND DRY,SALT PKT .6 GM,Food Costs,50000,
|
||||
538,CANNED AND DRY,SPICE PEPPER PACKET .1 GM,Food Costs,50000,
|
||||
538,CANNED AND DRY,SPICE PEPPER PACKET .1 GM,Dry Goods Costs,51500,
|
||||
539,PAPER & DISP,LINER ROLL COMPOST47X60 1ML,Paper Costs,55000,
|
||||
540,CANNED AND DRY,WATER SPRKLG ORG ARANCAT CAN,Food Costs,50000,
|
||||
541,DISPENSER BEVRG,SYRUP COKE DIET 5X1 BIB,Soft Beverage Costs,52000,
|
||||
@@ -564,7 +564,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
562,CHEMICAL/JANTRL,BLEACH LIQUID DISINFECT CLENER,Food Costs,50000,
|
||||
563,PAPER & DISP,CONTAINER PAPER FBR 9X6 1CPFF,Paper Costs,55000,
|
||||
564,CANNED AND DRY,SODA COKE MEXICO GLASS NON RET,Soft Beverage Costs,52000,
|
||||
565,CANNED AND DRY,SPICE CINNAMON STICK,Food Costs,50000,
|
||||
565,CANNED AND DRY,SPICE CINNAMON STICK,Dry Goods Costs,51500,
|
||||
566,CANNED AND DRY,WALNUT HALVES AND PCS,Food Costs,50000,
|
||||
567,DISPENSER BEVRG,TEA ICED CONC RASP 5.5+1,Soft Beverage Costs,52000,
|
||||
568,MEATS,BEEF GRND BULK 81/19 CHUB FRS,Beef/Pork Costs,51110,
|
||||
@@ -658,7 +658,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
656,PAPER & DISP,CUP PLAS TRANS 16OZ SOFT,Paper Costs,55000,
|
||||
657,PRODUCE,PARSLEY BUNCH FDSVC,Produce Costs,51200,
|
||||
658,PAPER & DISP,LINER TRASH 24X32 .5 ML BLK,Paper Costs,55000,
|
||||
659,CANNED AND DRY,SPICE CINNAMON GRND,Food Costs,50000,
|
||||
659,CANNED AND DRY,SPICE CINNAMON GRND,Dry Goods Costs,51500,
|
||||
660,PAPER & DISP,FORK PLAS HVY STY BLK,Paper Costs,55000,
|
||||
661,PAPER & DISP,SPOON PLAS PP HVY BLK FULL LEN,Paper Costs,55000,
|
||||
662,DAIRY PRODUCTS,EGG SHELL LG PAST CF,Dairy Costs,51300,
|
||||
@@ -797,7 +797,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
795,PAPER & DISP,SUPPLY ACCESSORIES SOTF COM,Paper Costs,55000,
|
||||
796,PAPER & DISP,LID PLAS CLR FLT W/SLT 12-24OZ,Paper Costs,55000,
|
||||
797,PAPER & DISP,TRAY PAPER PULP CARRYOUT 4 CUP,Paper Costs,55000,
|
||||
798,CHEMICAL/JANTRL,SANITIZER OASIS 146 MULTI QUAT,Food Costs,50000,
|
||||
798,CHEMICAL/JANTRL,SANITIZER OASIS 146 MULTI QUAT,Cleaning Supplies,74100,
|
||||
799,PAPER & DISP,CUP PLAS CLR TALL 8OZ RIGID,Paper Costs,55000,
|
||||
800,PAPER & DISP,BILLING MISC DISP,Paper Costs,55000,
|
||||
801,PAPER & DISP,LID FOIL F/ HALF STM TBL PAN,Paper Costs,55000,
|
||||
@@ -816,7 +816,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
814,CANNED AND DRY,FLOUR SEMOLINA UNBLCH,Food Costs,50000,
|
||||
815,CANNED AND DRY,SAUCE HOT SRIRACHA BLUE AGAVE,Food Costs,50000,
|
||||
816,PAPER & DISP,LINER TRASH 43X48 16 MC NAT,Paper Costs,55000,
|
||||
817,CANNED AND DRY,WALNUT HALF & PCS,Food Costs,50000,
|
||||
817,CANNED AND DRY,WALNUT HALF & PCS,Produce Costs,51200,
|
||||
818,MEATS,BEEF SHORT RIB ASIAN CUT 1/4,Beef/Pork Costs,51110,
|
||||
819,PAPER & DISP,LINER PLAS INSERT/WARMER 18X14,Paper Costs,55000,
|
||||
820,PAPER & DISP,BOX PIZZA 14 W/K B-FLT 1-7/8,Paper Costs,55000,
|
||||
@@ -877,7 +877,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
875,DAIRY PRODUCTS,CHEESE CREAM LIGHT CUP,Dairy Costs,51300,
|
||||
876,DAIRY PRODUCTS,YOGURT BLUEBERRY GREEK NON FAT,Dairy Costs,51300,
|
||||
877,HLTHCAR/HOSPITALITY,PERKS MEMBERSHIP FEE,Food Costs,50000,
|
||||
878,CANNED AND DRY,DRESSING RED WINE VINGRT METRO,Wine Costs,54400,
|
||||
878,CANNED AND DRY,DRESSING RED WINE VINGRT METRO,Dressing & Sauce Cost,51450,
|
||||
879,CANNED AND DRY,SPICE GARLIC PWDR,Food Costs,50000,
|
||||
880,CANNED AND DRY,SPICE ONION POWDER,Food Costs,50000,
|
||||
881,CANNED AND DRY,SALT KOSHER FLAKE COARSE,Food Costs,50000,
|
||||
@@ -925,7 +925,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
923,CANNED AND DRY,SAUCE WORCESTERSHIRE,Food Costs,50000,
|
||||
924,PAPER & DISP,CONTAINER PLAS 1C HNG 6X6 WHT,Paper Costs,55000,
|
||||
925,PRODUCE,PINEAPPLE FRESH,Produce Costs,51200,
|
||||
926,SUPP & EQUIP,MOP HEAD CTN CUT END VALUE #24,Food Costs,50000,
|
||||
926,SUPP & EQUIP,MOP HEAD CTN CUT END VALUE #24,Cleaning Supplies,74100,
|
||||
927,DAIRY PRODUCTS,CHEESE RICOTTA WMHM SEL,Dairy Costs,51300,
|
||||
928,MEATS,BACON LAYFLAT NT CC 13/17 PR12,Beef/Pork Costs,51110,
|
||||
929,CANNED AND DRY,COOKIE CRUMB OREO MED CRUNCH,Food Costs,50000,
|
||||
@@ -1005,7 +1005,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
1004,DAIRY PRODUCTS,CHEESE BLUE STUFFED OLIVES,Dairy Costs,51300,
|
||||
1005,SUPP & EQUIP,HANDLE MOP FIBRGLS QUICK CHNGE,Food Costs,50000,
|
||||
1006,SUPP & EQUIP,SUPPLY SOTF JANSAN,Food Costs,50000,
|
||||
1007,CANNED AND DRY,WALNUT HALVES & PCS,Food Costs,50000,
|
||||
1007,CANNED AND DRY,WALNUT HALVES & PCS,Produce Costs,51200,
|
||||
1008,CANNED AND DRY,WATER SPARKLN ORG PRCKLY PEAR,Beverages Costs,52000,
|
||||
1009,CANNED AND DRY,DRINK NATURAL CLMTN SPRKLG,Food Costs,50000,
|
||||
1010,CANNED AND DRY,DRESSING MIX RNCH BTRMK NO MSG,Food Costs,50000,
|
||||
@@ -1032,7 +1032,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
1031,CANNED AND DRY,DRESSING BALSAMIC VINGT GARLIC,Food Costs,50000,
|
||||
1032,CANNED AND DRY,SPREAD CHOC NUTELLA JAR FDSRV,Food Costs,50000,
|
||||
1033,CANNED AND DRY,SUGAR BROWN LIGHT,Food Costs,50000,
|
||||
1034,PAPER & DISP,PAD SCOUR 6X9 HVYDTY ANTIMICRO,Paper Costs,55000,
|
||||
1034,PAPER & DISP,PAD SCOUR 6X9 HVYDTY ANTIMICRO,Cleaning Supplies,74100,
|
||||
1035,CHEMICAL/JANTRL,DETERGENT POT/PAN LIQ GRN RTU,Food Costs,50000,
|
||||
1036,PAPER & DISP,KNIFE PLAS HVY STY BLK,Paper Costs,55000,
|
||||
1037,CHEMICAL/JANTRL,CLEANER DISINFECT PEROX RTU,Food Costs,50000,
|
||||
@@ -1111,7 +1111,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
1110,PAPER & DISP,BAG PAPER BRN W/HNDL REGAL 65#,Paper Costs,55000,
|
||||
1111,DAIRY PRODUCTS,EGG SHELL WHT CAGEFREE GR A LG,Dairy Costs,51300,
|
||||
1112,CANNED AND DRY,VINEGAR RICE SEASONED,Food Costs,50000,
|
||||
1113,CANNED AND DRY,VINEGAR WHITE DSTD 5%,Food Costs,50000,
|
||||
1113,CANNED AND DRY,VINEGAR WHITE DSTD 5%,Dry Goods Costs,51500,
|
||||
1114,SEAFOOD,SHRIMP WHT GH 13-15,Seafood Costs,51130,
|
||||
1115,PAPER & DISP,BAG PLAS PRTN 6.5X7 ORG SAT,Paper Costs,55000,
|
||||
1116,CANNED AND DRY,BREAD CRUMB JAP PANKO TOASTED,Food Costs,50000,
|
||||
@@ -1489,7 +1489,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
1488,POULTRY,CHICKEN CVP WHL WOG FZ,Chicken/ Poultry Costs,51120,
|
||||
1489,PRODUCE,LEEK BUNCH FRSH ICELS,Produce Costs,51200,
|
||||
1490,CANNED AND DRY,BILLING MISC CANNED/DRY,Food Costs,50000,
|
||||
1491,PAPER & DISP,PAN FOIL STEAM TBL HALF DEEP,Paper Costs,55000,
|
||||
1491,PAPER & DISP,PAN FOIL STEAM TBL HALF DEEP,Dry Goods Costs,51500,
|
||||
1492,PAPER & DISP,TRAY PAPER CARRIER 4 CUP,Paper Costs,55000,
|
||||
1493,PAPER & DISP,KIT CUTLERY FKS/SP/NP HW PP BK,Paper Costs,55000,
|
||||
1494,MEATS,BEEF PATTY 80/20 RND FRSH,Beef/Pork Costs,51110,
|
||||
@@ -1498,7 +1498,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
1497,DAIRY PRODUCTS,EGG HARDCOOKED CGFREE HARD PK,Dairy Costs,51300,
|
||||
1498,SEAFOOD,SHRIMP WHT P&D TLOF 26/30,Seafood Costs,51130,
|
||||
1499,PAPER & DISP,CONTAINER PAPER HNG 9X6 1C FBR,Paper Costs,55000,
|
||||
1500,CHEMICAL/JANTRL,DETERGENT POT & PAN LIQUID,Food Costs,50000,
|
||||
1500,CHEMICAL/JANTRL,DETERGENT POT & PAN LIQUID,Cleaning Supplies,74100,
|
||||
1501,FROZEN,ASPARAGUS SPEAR MED IQF P,Produce Costs,51200,
|
||||
1502,PRODUCE,ASPARAGUS FRESH STANDARD,Produce Costs,51200,
|
||||
1503,SUPP & EQUIP,SCREEN GRIDDLE 4X6IN,Food Costs,50000,
|
||||
@@ -1515,7 +1515,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
1514,PAPER & DISP,GLOVE SYNTHETIC FDSRV PF MED,Paper Costs,55000,
|
||||
1515,POULTRY,CHICKEN THIGH BNLS SKIN-ON RAW,Chicken/ Poultry Costs,51120,
|
||||
1516,CANNED AND DRY,SPICE SAGE GRND,Food Costs,50000,
|
||||
1517,CANNED AND DRY,KETCHUP SQUEEZE RED UPSIDE DWN,Food Costs,50000,
|
||||
1517,CANNED AND DRY,KETCHUP SQUEEZE RED UPSIDE DWN,Dry Goods Costs,51500,
|
||||
1518,CANNED AND DRY,SPICE NUTMEG WHL,Food Costs,50000,
|
||||
1519,DAIRY PRODUCTS,YOGURT PLAIN FULL FAT,Dairy Costs,51300,
|
||||
1520,CANNED AND DRY,VINEGAR WINE RED ITALY 6% GLS,Wine Costs,54400,
|
||||
@@ -1555,7 +1555,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
1554,FROZEN,BAKLAVA WALNT TRIANGLES,Food Costs,50000,
|
||||
1555,PAPER & DISP,DISPENSER NAP XPRSNP STND BLK,Paper Costs,55000,
|
||||
1556,PAPER & DISP,DISPENSER TOWEL MANUL COMP360,Paper Costs,55000,
|
||||
1557,PAPER & DISP,PAN FOIL STM TBL MED 2-3/16,Paper Costs,55000,
|
||||
1557,PAPER & DISP,PAN FOIL STM TBL MED 2-3/16,Dry Goods Costs,51500,
|
||||
1558,PRODUCE,ONION RED JUMBO CTN,Produce Costs,51200,
|
||||
1559,MEATS,BEEF CHUCK SHORTRIB KOREAN1/2,Beef/Pork Costs,51110,
|
||||
1560,FROZEN,RICE MEXICAN STY,Food Costs,50000,
|
||||
@@ -1653,7 +1653,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
1652,CANNED AND DRY,SODA COKE CHERRY ZERO CONTOUR,Soft Beverage Costs,52000,
|
||||
1653,FROZEN,ENTREE VEG FALAFEL BALLS VEGAN,Food Costs,50000,
|
||||
1654,SUPP & EQUIP,BRUSH GRILL W/SCRPR 27 IN HNDL,Food Costs,50000,
|
||||
1655,CANNED AND DRY,SAUCE HOT SRIRACHA HUY FONG,Food Costs,50000,
|
||||
1655,CANNED AND DRY,SAUCE HOT SRIRACHA HUY FONG,Dry Goods Costs,51500,
|
||||
1656,PAPER & DISP,TOWEL MULTIFOLD PRM LEAF,Paper Costs,55000,
|
||||
1657,CANNED AND DRY,SODA LEMON LIME 12OZ,Soft Beverage Costs,52000,
|
||||
1658,PAPER & DISP,KNIFE PLAS WRP BLK,Paper Costs,55000,
|
||||
@@ -1709,7 +1709,7 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
1708,PAPER & DISP,CONTAINER PLAS CLR HNG 8IN,Paper Costs,55000,
|
||||
1709,PAPER & DISP,TISSUE TOILET 2PL ADVC WHT WR,Paper Costs,55000,
|
||||
1710,SUPP & EQUIP,SPATULA RUBBER SILICONE 10.25,Food Costs,50000,
|
||||
1711,CANNED AND DRY,BEAN GARBANZO FCY NO SULFITE,Food Costs,50000,
|
||||
1711,CANNED AND DRY,BEAN GARBANZO FCY NO SULFITE,Dry Goods Costs,51500,
|
||||
1712,MEATS,BACON SLI APLWD 13/17CT PR12,Beef/Pork Costs,51110,
|
||||
1713,POULTRY,SAUSAGE CHICKEN APPLE RAW 1 OZ,Poultry Costs,51120,
|
||||
1714,CANNED AND DRY,TOMATO SUNDRIED JULENNE,Food Costs,50000,
|
||||
@@ -1764,33 +1764,68 @@ Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nic
|
||||
1763,MEATS,BEEF SHLDR TERES MAJOR SEL,Beef/Pork Costs,51110,
|
||||
1764,PAPER & DISP,BOWL PLASTIC COATING 42 OZ,Paper Costs,55000,
|
||||
1765,PAPER & DISP,BOX CATERING 21X13X4.25 LOGO,Paper Costs,55000,
|
||||
1766,CANNED AND DRY,CANDY MILK CHOC SHELLS,Food Costs,50000,
|
||||
1767,CANNED AND DRY,CHOCOLATE DUBAI PISTCHO KUNFEH,Food Costs,50000,
|
||||
1766,CANNED AND DRY,CANDY MILK CHOC SHELLS,Dry Goods Costs,51500,
|
||||
1767,CANNED AND DRY,CHOCOLATE DUBAI PISTCHO KUNFEH,Dry Goods Costs,51500,
|
||||
1768,PAPER & DISP,CONTAINER PAPER 1/30 OZ NTG,Paper Costs,55000,
|
||||
1769,PAPER & DISP,CONTAINER PAPER 4/110OZ NTG,Paper Costs,55000,
|
||||
1770,PAPER & DISP,CUP PAPER COLD 22 OZ LOGO NTG,Paper Costs,55000,
|
||||
1771,PAPER & DISP,CUP PORTION PLAS CLR 1.50 OZ,Paper Costs,55000,
|
||||
1772,CANNED AND DRY,DESSERT CUP,Food Costs,50000,
|
||||
1773,FROZEN,DESSERT MINI PLAIN BEIGNET,Food Costs,50000,
|
||||
1774,CANNED AND DRY,DIP GARLIC TOUM,Food Costs,50000,
|
||||
1772,PAPER & DISP,DESSERT CUP,Paper Costs,55000,
|
||||
1773,FROZEN,DESSERT MINI PLAIN BEIGNET,Bread and Bun Costs,51400,
|
||||
1774,CANNED AND DRY,DIP GARLIC TOUM,Dressing & Sauce Cost,51450,
|
||||
1775,CANNED AND DRY,DRINK ENERGY ORANGE SPRKLNG,Soft Beverage Costs,52000,
|
||||
1776,CANNED AND DRY,DRINK ENERGY PEACH VIBE SPRKLG,Soft Beverage Costs,52000,
|
||||
1777,CANNED AND DRY,DRINK ENERGY TROPICAL VIBE,Soft Beverage Costs,52000,
|
||||
1778,PAPER & DISP,FILM PVC 18X2000 ROLL,Paper Costs,55000,
|
||||
1779,CANNED AND DRY,JUICE CONC MANDARIN CARDAMOM,Food Costs,50000,
|
||||
1780,CANNED AND DRY,JUICE CONC STRAWB DRAGON,Food Costs,50000,
|
||||
1779,CANNED AND DRY,JUICE CONC MANDARIN CARDAMOM,Soft Beverage Cost,52000,
|
||||
1780,CANNED AND DRY,JUICE CONC STRAWB DRAGON,Soft Beverage Cost,52000,
|
||||
1781,PAPER & DISP,LID CLEAR PET 42 OZ,Paper Costs,55000,
|
||||
1782,PAPER & DISP,LID DOME DESSERT CUP,Paper Costs,55000,
|
||||
1783,PAPER & DISP,NAPKIN 2PLY INTR FOLD 6.3X8.26,Paper Costs,55000,
|
||||
1784,CANNED AND DRY,PASTE HERB HARISSA MOROCCAN,Food Costs,50000,
|
||||
1785,CANNED AND DRY,PASTE TAHINI DRESSING,Food Costs,50000,
|
||||
1786,FROZEN,PASTRY BEIGNET MN FLD CHOCCRML,Food Costs,50000,
|
||||
1787,CANNED AND DRY,PEPPER BANANA MILD RING,Food Costs,50000,
|
||||
1788,CANNED AND DRY,RICE MIX NICKS,Food Costs,50000,
|
||||
1784,CANNED AND DRY,PASTE HERB HARISSA MOROCCAN,Dressing & Sauce Cost,51450,
|
||||
1785,CANNED AND DRY,PASTE TAHINI DRESSING,Dressing & Sauce Cost,51450,
|
||||
1786,FROZEN,PASTRY BEIGNET MN FLD CHOCCRML,Bread and Bun Costs,51400,
|
||||
1787,CANNED AND DRY,PEPPER BANANA MILD RING,Produce Costs,51200,
|
||||
1788,CANNED AND DRY,RICE MIX NICKS,Dry Goods Costs,51500,
|
||||
1789,CANNED AND DRY,SODA CHERRY VISSINADA GREEK,Soft Beverage Costs,52000,
|
||||
1790,CANNED AND DRY,SODA COLA PEPSI ZERO SUGAR,Soft Beverage Costs,52000,
|
||||
1791,CANNED AND DRY,SODA PEPSI COLA,Soft Beverage Costs,52000,
|
||||
1792,FROZEN,SPANAKOPITA SPINACH COOKED,Food Costs,50000,
|
||||
1792,FROZEN,SPANAKOPITA SPINACH COOKED,Bread and Bun Costs,51400,
|
||||
1793,PAPER & DISP,SPOON PLAS TEA PP X-HVY BLK,Paper Costs,55000,
|
||||
1794,PAPER & DISP,WRAP PAPER 14X14 LOGO VER2,Paper Costs,55000,
|
||||
1795,DAIRY PRODUCTS,YOGURT FRZN NF NICK THE GREEK,Dairy Costs,51300,
|
||||
1796,FROZEN,BALL FALAFEL FRTTR 1 OZ IQF,Dry Goods Costs,51500,
|
||||
1797,SUPP & EQUIP,BASKET PLAS 10.5X7X1.5 BLK,Paperware Cost,55000,
|
||||
1798,CANNED AND DRY,BEAN GARBANZO LOW SODIUM,Dry Goods Costs,51500,
|
||||
1799,FROZEN,BREAD POTATO ROLL 4 INCH,Bread and Bun Costs,51400,
|
||||
1800,FROZEN,BUN HAMBURGER 4IN 1.75 OZ,Bread and Bun Costs,51400,
|
||||
1801,DAIRY PRODUCTS,CHEESE FETA CRUMBLES,Dairy Costs,51300,
|
||||
1802,FROZEN,CHEESE STICK HALLOUMI STYL,Dairy Costs,51300,
|
||||
1803,POULTRY,CHICKEN CVP THGH B/S HALAL,Chicken/ Poultry Costs,51120,
|
||||
1804,CHEMICAL/JANTRL,CLEANER DEGREASER CONCENTR RTU,Cleaning Supplies,74100,
|
||||
1805,CHEMICAL/JANTRL,CLEANER DEGREASER GRSELFT RTU,Cleaning Supplies,74100,
|
||||
1806,,CONTAINER PAPER CUSTOM LOGO8X5,Paperware Cost,55000,
|
||||
1807,,CONTAINER PAPER FBR 9X6 1C WHT,Paperware Cost,55000,
|
||||
1808,,DRESSING RANCH SPICY,Dairy Costs,51300,
|
||||
1809,,FILM PVC ROLL CRYS 2000 FT,Paperware Cost,55000,
|
||||
1810,,FORK PLASTIC SERVING BLK 10IN,Paperware Cost,55000,
|
||||
1811,DAIRY PRODUCTS,ICE CREAM COOKIE&CREAM,Dairy Costs,51300,
|
||||
1812,DAIRY PRODUCTS,ICE CREAM STRAWBERRY,Dairy Costs,51300,
|
||||
1813,DAIRY PRODUCTS,ICE CREAM VAN QUICK BLEND,Dairy Costs,51300,
|
||||
1814,DISPENSER BEVRG,JUICE CONC BERRY PATCH ORG,Soft Beverage Cost,52000,
|
||||
1815,CANNED AND DRY,JUICE LEMON PLAS RTU,Produce Costs,51200,
|
||||
1816,PRODUCE,KALE CHOPPED,Produce Costs,51200,
|
||||
1817,PRODUCE,KALE FRESH,Produce Costs,51200,
|
||||
1818,CANNED AND DRY,KETCHUP FCY POUCH EQUALS 6/10#,Dry Goods Costs,51500,
|
||||
1819,PRODUCE,LEMON FRESH BAGGED,Produce Costs,51200,
|
||||
1820,CANNED AND DRY,OIL OLIVE SOYBEAN BLEND 75/25,Dry Goods Costs,51500,
|
||||
1821,PRODUCE,ONION WHITE JUMBO BAG,Produce Costs,51200,
|
||||
1822,CANNED AND DRY,PEPPER BANANA MILD RING 7-9HUN,Produce Costs,51200,
|
||||
1823,CANNED AND DRY,PEPPER BANANA RING,Produce Costs,51200,
|
||||
1824,FROZEN,POTATO FRY 1/4 SS XLF PHANTM,Produce Costs,51200,
|
||||
1825,,SANITIZER NO RINSE QUORUM,Cleaning Supplies,74100,
|
||||
1826,CANNED AND DRY,SODA ROOT BEER CUBE,Soft Beverage Cost,52000,
|
||||
1827,DISPENSER BEVRG,SYRUP FRUIT PUNCH BIB FLASHIN,Soft Beverage Cost,52000,
|
||||
1828,DISPENSER BEVRG,SYRUP ORANGE 5X1 BIB,Soft Beverage Cost,52000,
|
||||
1829,PRODUCE,TOMATO BULK 5X5 FRSH,Produce Costs,51200,
|
||||
1830,PRODUCE,TOMATO GRAPE FRSH,Produce Costs,51200,
|
||||
|
||||
|
375
src/clj/auto_ap/jobs/backfill_olo_processors.clj
Normal file
375
src/clj/auto_ap/jobs/backfill_olo_processors.clj
Normal file
@@ -0,0 +1,375 @@
|
||||
(ns auto-ap.jobs.backfill-olo-processors
|
||||
"One-off backfill for the Olo third-party-source fix (commit fa25620b, \"olo fixes\").
|
||||
|
||||
That commit replaced the exact-match `condp` on `(:name (:source order))` in
|
||||
`square3/tender->charge` with substring matching, so Olo-brokered orders that
|
||||
arrive from Square with source names like \"Olo - DoorDash\" or
|
||||
\"olo-ubereats\" now classify as the real delivery processor instead of
|
||||
falling through to `:ccp-processor/na`.
|
||||
|
||||
Orders imported *before* the fix shipped still carry the old
|
||||
`:charge/processor`, which means `sales-summaries` bucketed them as
|
||||
\"Unknown\" instead of \"Food App Payments\". This job recomputes
|
||||
`:charge/processor` for already-imported Square charges over a date range
|
||||
(default: 2026-07-07 -> today) and marks the affected sales summaries dirty
|
||||
so `auto-ap.jobs.sales-summaries` recalculates them.
|
||||
|
||||
IMPORTANT: this backfill never re-implements the classifier. It feeds the
|
||||
stored shape of each charge back through the real production function
|
||||
(`square3/tender->charge`), so it cannot drift from the importer.
|
||||
|
||||
No Square API calls are made -- every input the classifier needs
|
||||
(`:sales-order/source`, `:charge/note`, `:charge/type-name`) is already in
|
||||
Datomic. See the `(comment ...)` block at the bottom for the API-based
|
||||
fallback if you need to repair charges that have no parent sales order.
|
||||
|
||||
Dry run by default. Pass `:apply? true` to write."
|
||||
(:require
|
||||
[auto-ap.datomic :refer [conn]]
|
||||
[auto-ap.jobs.core :refer [execute]]
|
||||
[auto-ap.jobs.sales-summaries :as summaries]
|
||||
[auto-ap.logging :as alog]
|
||||
[auto-ap.square.core3 :as square3]
|
||||
[auto-ap.time :as atime]
|
||||
[clj-time.coerce :as coerce]
|
||||
[clj-time.core :as time]
|
||||
[clj-time.format :as f]
|
||||
[clj-time.periodic :as per]
|
||||
[clojure.string :as str]
|
||||
[config.core :refer [env]]
|
||||
[datomic.api :as dc]
|
||||
;; the datalog below calls iol-ion.query/scan-charges by fully-qualified
|
||||
;; symbol, so the namespace has to be loaded.
|
||||
[iol-ion.query]))
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Date handling
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(def pacific (time/time-zone-for-id "America/Los_Angeles"))
|
||||
|
||||
(def default-start-date
|
||||
"The Olo fix landed 2026-07-22; the user-visible bad data starts 7/7."
|
||||
"2026-07-07")
|
||||
|
||||
(defn parse-day
|
||||
"\"2026-07-07\" -> local (Pacific) midnight DateTime. Passes DateTimes through."
|
||||
[d]
|
||||
(cond
|
||||
(nil? d) nil
|
||||
(string? d) (f/parse (f/with-zone (f/formatter "yyyy-MM-dd") pacific) d)
|
||||
:else (coerce/to-date-time d)))
|
||||
|
||||
(defn local-midnight [dt]
|
||||
(.toDateMidnight (atime/localize dt)))
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Classification -- delegates to the production importer
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(defn recompute-processor
|
||||
"Runs the *live* classifier over a charge's stored inputs.
|
||||
|
||||
`tender->charge` only reads `(:name (:source order))` from the order and
|
||||
`:type`/`:note` from the tender when deciding `:charge/processor`, so a
|
||||
synthetic order/tender carrying the stored values yields exactly what a
|
||||
fresh import would produce today. `:created_at` and `:id` are placeholders
|
||||
purely to keep the unrelated `:charge/date` and `:charge/reference-link`
|
||||
branches from blowing up; we only read `:charge/processor` back out.
|
||||
|
||||
Note on nil sources: the importer stores `(or (:name (:source order))
|
||||
\"Square\")`, so a source that was originally nil comes back as \"Square\".
|
||||
Both nil and \"Square\" classify to `:ccp-processor/na`, so the round trip
|
||||
is faithful."
|
||||
[{:keys [source note type-name]}]
|
||||
(:charge/processor
|
||||
(square3/tender->charge {:source {:name source}
|
||||
:created_at "1970-01-01T00:00:00Z"}
|
||||
{} ; client -> only :charge/client
|
||||
{} ; location -> only :charge/location
|
||||
{:id "backfill"
|
||||
:type type-name
|
||||
:note note})))
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Scanning
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(def charge-pull
|
||||
[:db/id
|
||||
:charge/external-id
|
||||
:charge/type-name
|
||||
:charge/note
|
||||
:charge/date
|
||||
:charge/total
|
||||
{:charge/processor [:db/ident]}
|
||||
{:sales-order/_charges [:db/id
|
||||
:sales-order/external-id
|
||||
:sales-order/source
|
||||
{:sales-order/vendor [:db/ident]}]}])
|
||||
|
||||
(defn client-charges
|
||||
"All charges for `client-eid` between `start-inst` and `end-inst` (both
|
||||
inclusive by day), via the :charge/client+date index."
|
||||
[db client-eid start-inst end-inst]
|
||||
(->> (dc/q '[:find (pull ?c pull-pattern)
|
||||
:in $ pull-pattern [?clients ?start ?end]
|
||||
:where
|
||||
[(iol-ion.query/scan-charges $ ?clients ?start ?end) [[?c _ _] ...]]]
|
||||
db
|
||||
charge-pull
|
||||
[[client-eid] start-inst end-inst])
|
||||
(map first)))
|
||||
|
||||
(defn parent-order
|
||||
"Reverse refs on component attributes come back as a single map from pull,
|
||||
but tolerate a collection in case that ever changes."
|
||||
[charge]
|
||||
(let [o (:sales-order/_charges charge)]
|
||||
(if (sequential? o) (first o) o)))
|
||||
|
||||
(defn square-charge? [charge]
|
||||
(= :vendor/ccp-square (get-in (parent-order charge) [:sales-order/vendor :db/ident])))
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Planning
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(defn charge->change
|
||||
"nil when the charge is already correct (or isn't ours to touch)."
|
||||
[charge]
|
||||
(when (square-charge? charge)
|
||||
(let [order (parent-order charge)
|
||||
current (get-in charge [:charge/processor :db/ident])
|
||||
next (recompute-processor {:source (:sales-order/source order)
|
||||
:note (:charge/note charge)
|
||||
:type-name (:charge/type-name charge)})]
|
||||
(when (not= current next)
|
||||
{:charge (:db/id charge)
|
||||
:external-id (:charge/external-id charge)
|
||||
:order (:sales-order/external-id order)
|
||||
:date (:charge/date charge)
|
||||
:source (:sales-order/source order)
|
||||
:note (:charge/note charge)
|
||||
:type-name (:charge/type-name charge)
|
||||
:total (:charge/total charge)
|
||||
:from current
|
||||
:to next}))))
|
||||
|
||||
(defn downgrade?
|
||||
"A change that *loses* processor information. The Olo fix can only ever widen
|
||||
matching, so these should not exist -- if they do, something else changed
|
||||
and we'd rather report than clobber."
|
||||
[{:keys [from to]}]
|
||||
(and (= :ccp-processor/na to)
|
||||
(not= :ccp-processor/na from)
|
||||
(some? from)))
|
||||
|
||||
(defn plan-for-client
|
||||
[db {:keys [db/id client/code]} start-inst end-inst allow-downgrade?]
|
||||
(let [charges (client-charges db id start-inst end-inst)
|
||||
square (filter square-charge? charges)
|
||||
orphans (->> charges
|
||||
(remove (comp some? parent-order))
|
||||
(filter #(some-> (:charge/external-id %)
|
||||
(str/starts-with? "square/charge/"))))
|
||||
all (keep charge->change square)
|
||||
[skipped changes] (if allow-downgrade?
|
||||
[[] all]
|
||||
[(filter downgrade? all) (remove downgrade? all)])]
|
||||
{:client id
|
||||
:code code
|
||||
:scanned (count square)
|
||||
:orphan-charges (count orphans)
|
||||
:changes (vec changes)
|
||||
:skipped (vec skipped)}))
|
||||
|
||||
(defn build-plan
|
||||
[db clients start-inst end-inst allow-downgrade?]
|
||||
(->> clients
|
||||
(map #(plan-for-client db % start-inst end-inst allow-downgrade?))
|
||||
(remove #(and (zero? (count (:changes %)))
|
||||
(zero? (count (:skipped %)))
|
||||
(zero? (:orphan-charges %))))
|
||||
vec))
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Reporting
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(defn- transitions [changes]
|
||||
(->> changes
|
||||
(group-by (juxt :from :to))
|
||||
(map (fn [[[from to] cs]]
|
||||
[from to (count cs) (reduce + 0.0 (keep :total cs))]))
|
||||
(sort-by #(- (nth % 2)))))
|
||||
|
||||
(defn print-report [plan]
|
||||
(println)
|
||||
(println "=== Olo processor backfill ===")
|
||||
(doseq [{:keys [code scanned changes skipped orphan-charges]} plan]
|
||||
(println)
|
||||
(printf "%-8s scanned %d square charges, %d to update%n"
|
||||
(str code) scanned (count changes))
|
||||
(doseq [[from to n total] (transitions changes)]
|
||||
(printf " %-24s -> %-24s %5d $%.2f%n"
|
||||
(str from) (str to) n total))
|
||||
(when (seq skipped)
|
||||
(printf " !! %d downgrade(s) to :ccp-processor/na SKIPPED (pass :allow-downgrade? true to force)%n"
|
||||
(count skipped))
|
||||
(doseq [{:keys [external-id order source note from]} (take 10 skipped)]
|
||||
(printf " %s (order %s, source %s, note %s) was %s%n"
|
||||
external-id order (pr-str source) (pr-str note) from)))
|
||||
(when (pos? orphan-charges)
|
||||
(printf " note: %d square charge(s) have no parent sales order (custom-amount tenders).%n"
|
||||
orphan-charges)
|
||||
(println " Their order source is not stored, so they cannot be reclassified")
|
||||
(println " locally -- use the re-import fallback in the comment block.")))
|
||||
(let [total (reduce + 0 (map (comp count :changes) plan))]
|
||||
(println)
|
||||
(printf "TOTAL: %d charge(s) across %d client(s)%n" total (count plan))
|
||||
(println)
|
||||
total))
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Applying
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(defn apply-plan!
|
||||
"Transacts the processor corrections in batches. Returns the number written."
|
||||
[plan]
|
||||
(let [tx (for [{:keys [changes]} plan
|
||||
{:keys [charge to]} changes]
|
||||
{:db/id charge :charge/processor to})]
|
||||
(doseq [batch (partition-all 100 tx)]
|
||||
(alog/info ::updating-charges :count (count batch))
|
||||
@(dc/transact-async conn batch))
|
||||
(count tx)))
|
||||
|
||||
(defn mark-summaries-dirty!
|
||||
"Processor drives the Card / Food App / Unknown split in
|
||||
`sales-summaries/get-payment-items`, so every day we touched has to be
|
||||
recalculated. `periodic-seq` is end-exclusive, hence the +1 day."
|
||||
[plan start end]
|
||||
(doseq [{:keys [client code changes]} plan
|
||||
:when (seq changes)]
|
||||
(alog/info ::marking-summaries-dirty :client code)
|
||||
(summaries/mark-dirty client
|
||||
(local-midnight start)
|
||||
(time/plus (local-midnight end) (time/days 1)))))
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Entry point
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(defn backfill!
|
||||
"Recompute :charge/processor for imported Square charges.
|
||||
|
||||
Options:
|
||||
:start \"2026-07-07\" (default) or a DateTime -- inclusive
|
||||
:end \"2026-07-29\" or a DateTime -- inclusive, default today
|
||||
:codes seq of client codes; default every Square client
|
||||
:apply? false (default) = dry run, print only
|
||||
:allow-downgrade? false (default) = refuse changes that drop a known
|
||||
processor back to :ccp-processor/na
|
||||
:mark-dirty? true (default when applying) = flag sales summaries for
|
||||
recalculation
|
||||
|
||||
Returns the plan so you can inspect individual charges in the REPL."
|
||||
[& {:keys [start end codes apply? allow-downgrade? mark-dirty?]
|
||||
:or {start default-start-date
|
||||
apply? false
|
||||
allow-downgrade? false}}]
|
||||
(let [start-dt (parse-day start)
|
||||
end-dt (or (parse-day end) (atime/localize (time/now)))
|
||||
start-inst (coerce/to-date (local-midnight start-dt))
|
||||
end-inst (coerce/to-date (local-midnight end-dt))
|
||||
db (dc/db conn)
|
||||
clients (if (seq codes)
|
||||
(apply square3/get-square-clients codes)
|
||||
(square3/get-square-clients))
|
||||
_ (alog/info ::scanning
|
||||
:start start-inst
|
||||
:end end-inst
|
||||
:clients (count clients)
|
||||
:dry-run? (not apply?))
|
||||
plan (build-plan db clients start-inst end-inst allow-downgrade?)
|
||||
total (print-report plan)]
|
||||
(if-not apply?
|
||||
(do (println "DRY RUN -- nothing written. Re-run with :apply? true to commit.")
|
||||
(alog/info ::dry-run-complete :change-count total))
|
||||
(do
|
||||
(alog/info ::applying :change-count total)
|
||||
(apply-plan! plan)
|
||||
(when (not= false mark-dirty?)
|
||||
(mark-summaries-dirty! plan start-dt end-dt)
|
||||
(println "Sales summaries marked dirty. Run auto-ap.jobs.sales-summaries")
|
||||
(println "(or `(auto-ap.jobs.sales-summaries/sales-summaries-v2)`) to rebuild them."))
|
||||
(alog/info ::done :change-count total)))
|
||||
plan))
|
||||
|
||||
(defn -main [& _]
|
||||
(execute "backfill-olo-processors"
|
||||
(fn []
|
||||
(let [{:keys [start end codes apply allow-downgrade mark-dirty]} (:args env)]
|
||||
(backfill! :start (or start default-start-date)
|
||||
:end end
|
||||
:codes (cond-> codes (string? codes)
|
||||
(str/split #","))
|
||||
:apply? (boolean apply)
|
||||
:allow-downgrade? (boolean allow-downgrade)
|
||||
:mark-dirty? (if (nil? mark-dirty) true (boolean mark-dirty)))))))
|
||||
|
||||
(comment
|
||||
;; ---------------------------------------------------------------------
|
||||
;; 1. Dry run everything from 7/7 -- read only, prints what would change.
|
||||
;; ---------------------------------------------------------------------
|
||||
(def plan (backfill!))
|
||||
|
||||
;; One client at a time while you sanity check.
|
||||
(backfill! :codes ["NGCL"])
|
||||
|
||||
;; Eyeball the actual charges behind a transition.
|
||||
(->> plan
|
||||
(mapcat :changes)
|
||||
(filter #(= :ccp-processor/doordash (:to %)))
|
||||
(map (juxt :date :source :note :total :from :to))
|
||||
(take 20))
|
||||
|
||||
;; Every distinct source string we saw reclassified -- confirms the Olo
|
||||
;; variants ("Olo - DoorDash", "olo-ubereats", ...) are what moved.
|
||||
(->> plan (mapcat :changes) (map :source) frequencies)
|
||||
|
||||
;; ---------------------------------------------------------------------
|
||||
;; 2. Commit, then rebuild the summaries.
|
||||
;; ---------------------------------------------------------------------
|
||||
(backfill! :apply? true)
|
||||
(auto-ap.jobs.sales-summaries/sales-summaries-v2)
|
||||
|
||||
;; ---------------------------------------------------------------------
|
||||
;; 3. Verify: no square charge in the window disagrees with the classifier.
|
||||
;; ---------------------------------------------------------------------
|
||||
(->> (backfill!) (mapcat :changes) count) ; => 0
|
||||
|
||||
;; ---------------------------------------------------------------------
|
||||
;; Fallback: charges with no parent sales order (custom-amount tenders,
|
||||
;; see `is-order-only-for-charge?` in square3/order->sales-order) do not
|
||||
;; store the order source, so they cannot be fixed locally. Re-import them
|
||||
;; through the real pipeline instead -- `upsert` is idempotent on
|
||||
;; :charge/external-id / :sales-order/external-id, so re-running a day is
|
||||
;; safe and rewrites the processor from live Square data.
|
||||
;;
|
||||
;; This hits the Square API for every day x location; the existing
|
||||
;; auto-ap.jobs.load-historical-sales job does the same thing by day count.
|
||||
;; ---------------------------------------------------------------------
|
||||
(doseq [client (square3/get-square-clients)
|
||||
location (:client/square-locations client)
|
||||
:when (:square-location/client-location location)
|
||||
d (per/periodic-seq (parse-day "2026-07-07")
|
||||
(time/plus (atime/localize (time/now)) (time/days 1))
|
||||
(time/days 1))]
|
||||
(println (:client/code client) (:square-location/client-location location) (str d))
|
||||
@(square3/upsert client location d (time/plus d (time/days 1))))
|
||||
|
||||
;; ...then mark dirty + rebuild summaries as in step 2.
|
||||
)
|
||||
@@ -35,20 +35,35 @@
|
||||
(into {}))))))
|
||||
@sysco-name->line)
|
||||
|
||||
(defn get-line-account [item-name]
|
||||
(get (get-sysco->line)
|
||||
item-name
|
||||
(ffirst (dc/q '[:find ?a
|
||||
:in $ ?an
|
||||
:where [?a :account/numeric-code ?an]]
|
||||
(dc/db conn)
|
||||
50000))))
|
||||
(defn get-account-by-code [numeric-code]
|
||||
(ffirst (dc/q '[:find ?a
|
||||
:in $ ?an
|
||||
:where [?a :account/numeric-code ?an]]
|
||||
(dc/db conn)
|
||||
numeric-code)))
|
||||
|
||||
;; Sysco categories whose *default* is unambiguous, so a line item whose
|
||||
;; description is missing from sysco_line_item_mapping.csv still codes
|
||||
;; correctly instead of silently defaulting to Food Costs. Only PAPER & DISP
|
||||
;; qualifies: 440 of its 455 mapped descriptions point at 55000, and the 15
|
||||
;; exceptions (foil pans -> 51500, scour pads -> 74100) are all mapped
|
||||
;; explicitly, so the description mapping wins ahead of this fallback.
|
||||
(def category->numeric-code {"PAPER & DISP" 55000})
|
||||
|
||||
(def default-numeric-code 50000)
|
||||
|
||||
(defn get-line-account
|
||||
([item-name] (get-line-account item-name nil))
|
||||
([item-name sysco-category]
|
||||
(or (get (get-sysco->line) item-name)
|
||||
(some-> (category->numeric-code sysco-category) get-account-by-code)
|
||||
(get-account-by-code default-numeric-code))))
|
||||
|
||||
(def ^:dynamic bucket-name (:data-bucket env))
|
||||
|
||||
(def header-keys ["TransCode" "GroupID" "Company" "CustomerNumber" "InvoiceNumber" "RecordType" "Item" "InvoiceDocument" "AccountName" "AccountDunsNo" "InvoiceDate" "AccountDate" "CustomerPONo" "PaymentTerms" "TermsDescription" "StoreNumber" "CustomerName" "AddressLine1" "AddressLine2" "City1" "State1" "Zip1" "Phone1" "Duns1" "Hin1" "Dea1" "TIDCustomer" "ChainNumber" "BidNumber" "ContractNumber" "CompanyNumber" "BriefName" "Address" "Address2" "City2" "State2" "Zip2" "Phone2" "Duns2" "Hin2" "Dea2" "Tid_OPCO" "ObligationIndicator" "Manifest" "Route" "Stop" "TermsDiscountPercent" "TermsDiscountDueDate" "TermsNetDueDate" "TermsDiscountAmount" "TermsDiscountCode" "OrderDate" "DepartmentCode"])
|
||||
(def item-price-index 15)
|
||||
(def item-category-index 25)
|
||||
(def item-name-index 29)
|
||||
|
||||
(def summary-keys ["TranCode" "GroupID" "Company" "CustomerNumber" "InvoiceNumber" "RecordType" "Item" "InvoiceDocument" "TotalLines" "TotalQtyInvoice" "TotalQty" "TotalQtySplit" "TotalQtyPounds" "TotalExtendedPrice" "TotalTaxAmount" "TotalInvoiceAmount" "AccountDate"])
|
||||
@@ -56,14 +71,13 @@
|
||||
(defn get-sysco-vendor []
|
||||
(let [db (dc/db conn)]
|
||||
(->
|
||||
(dc/q '[:find (pull ?v r)
|
||||
:in $ r
|
||||
:where [?v :vendor/name "Sysco"]]
|
||||
db
|
||||
d-vendors/default-read)
|
||||
first
|
||||
first)))
|
||||
|
||||
(dc/q '[:find (pull ?v r)
|
||||
:in $ r
|
||||
:where [?v :vendor/name "Sysco"]]
|
||||
db
|
||||
d-vendors/default-read)
|
||||
first
|
||||
first)))
|
||||
|
||||
(defn read-sysco-csv [k]
|
||||
(-> (s3/get-object {:bucket-name bucket-name
|
||||
@@ -73,34 +87,33 @@
|
||||
csv/read-csv))
|
||||
|
||||
(defn check-okay-amount? [i]
|
||||
(dollars=
|
||||
(dollars=
|
||||
(:invoice/total i)
|
||||
(reduce + 0.0 (map :invoice-expense-account/amount (:invoice/expense-accounts i)))))
|
||||
|
||||
(defn code-individual-items [invoice csv-rows tax]
|
||||
(let [items (->> csv-rows
|
||||
butlast
|
||||
(reduce
|
||||
(fn [acc row]
|
||||
(update acc (get-line-account (nth row item-name-index))
|
||||
(fnil + 0.0)
|
||||
(Double/parseDouble (nth row item-price-index))
|
||||
)
|
||||
)
|
||||
{})
|
||||
)
|
||||
(reduce
|
||||
(fn [acc row]
|
||||
(update acc (get-line-account (nth row item-name-index)
|
||||
(nth row item-category-index))
|
||||
(fnil + 0.0)
|
||||
(Double/parseDouble (nth row item-price-index))))
|
||||
|
||||
{}))
|
||||
items-with-tax (update items (get-line-account "TAX")
|
||||
(fnil + 0.0)
|
||||
(fnil + 0.0)
|
||||
tax)
|
||||
updated-invoice (assoc invoice :invoice/expense-accounts
|
||||
(for [[account amount] items-with-tax]
|
||||
#:invoice-expense-account {:db/id (random-tempid)
|
||||
:account account
|
||||
:location (:invoice/location invoice)
|
||||
:amount amount}))]
|
||||
updated-invoice (assoc invoice :invoice/expense-accounts
|
||||
(for [[account amount] items-with-tax]
|
||||
#:invoice-expense-account {:db/id (random-tempid)
|
||||
:account account
|
||||
:location (:invoice/location invoice)
|
||||
:amount amount}))]
|
||||
(if (check-okay-amount? updated-invoice)
|
||||
updated-invoice
|
||||
(do (alog/warn ::itemized-expenses-not-adding-up
|
||||
(do (alog/warn ::itemized-expenses-not-adding-up
|
||||
:invoice updated-invoice)
|
||||
invoice))))
|
||||
|
||||
@@ -122,11 +135,11 @@
|
||||
(header-row "AddressLine2")
|
||||
(header-row "City1")
|
||||
(header-row "City2")])
|
||||
|
||||
|
||||
account-number (some-> account-number Long/parseLong str)
|
||||
matching-client (and account-number
|
||||
(d-clients/exact-match account-number))
|
||||
|
||||
|
||||
_ (when-not matching-client
|
||||
(throw (ex-info "cannot find matching client"
|
||||
{:account-number account-number
|
||||
@@ -153,9 +166,9 @@
|
||||
:client/locations]
|
||||
(:db/id matching-client))
|
||||
location-hint
|
||||
location-hint )
|
||||
location-hint)
|
||||
:date (coerce/to-date date)
|
||||
:vendor (:db/id sysco-vendor )
|
||||
:vendor (:db/id sysco-vendor)
|
||||
:client (:db/id matching-client)
|
||||
:import-status :import-status/imported
|
||||
:status :invoice-status/unpaid
|
||||
@@ -180,64 +193,54 @@
|
||||
(s3/delete-object {:bucket-name bucket-name
|
||||
:key k}))
|
||||
|
||||
(defn get-test-invoice-file
|
||||
(defn get-test-invoice-file
|
||||
([] (get-test-invoice-file 999))
|
||||
( [i]
|
||||
([i]
|
||||
(nth (->> (s3/list-objects-v2 {:bucket-name "data.prod.app.integreatconsult.com"
|
||||
:prefix "sysco/imported"})
|
||||
:object-summaries
|
||||
(map :key)
|
||||
)
|
||||
(map :key))
|
||||
i)))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
(comment
|
||||
(with-bindings { #'bucket-name "data.prod.app.integreatconsult.com"}
|
||||
(doall
|
||||
(for [n (range 930 940 )
|
||||
:let [result (-> (get-test-invoice-file n)
|
||||
read-sysco-csv
|
||||
(extract-invoice-details (get-sysco-vendor))
|
||||
)]
|
||||
#_#_:when (not (check-okay-amount? result))]
|
||||
(comment
|
||||
(with-bindings {#'bucket-name "data.prod.app.integreatconsult.com"}
|
||||
(doall
|
||||
(for [n (range 930 940)
|
||||
:let [result (-> (get-test-invoice-file n)
|
||||
read-sysco-csv
|
||||
(extract-invoice-details (get-sysco-vendor)))]
|
||||
#_#_:when (not (check-okay-amount? result))]
|
||||
|
||||
result)))
|
||||
|
||||
(with-bindings { #'bucket-name "data.prod.app.integreatconsult.com"}
|
||||
(let [result (-> "sysco/error/SYSCO050_00175962_20241010122639019.csv"
|
||||
(with-bindings {#'bucket-name "data.prod.app.integreatconsult.com"}
|
||||
(let [result (-> "sysco/error/SYSCO050_00175962_20241010122639019.csv"
|
||||
read-sysco-csv
|
||||
(extract-invoice-details (get-sysco-vendor))
|
||||
)]
|
||||
(extract-invoice-details (get-sysco-vendor)))]
|
||||
|
||||
result))
|
||||
|
||||
)
|
||||
result)))
|
||||
|
||||
(defn import-sysco []
|
||||
(let [sysco-vendor (get-sysco-vendor)
|
||||
keys (->> (s3/list-objects-v2 {:bucket-name bucket-name
|
||||
:prefix "sysco/pending"})
|
||||
:object-summaries
|
||||
(map :key))]
|
||||
|
||||
:object-summaries
|
||||
(map :key))]
|
||||
|
||||
(alog/info ::importing-sysco
|
||||
:count (count keys)
|
||||
:keys (pr-str keys))
|
||||
|
||||
|
||||
(let [transaction (->> keys
|
||||
(mapcat (fn [k]
|
||||
(try
|
||||
(try
|
||||
(let [invoice-key (str "invoice-files/" (UUID/randomUUID) ".csv") ;
|
||||
invoice-url (str "https://" (:data-bucket env) "/" invoice-key)]
|
||||
(s3/copy-object {:source-bucket-name (:data-bucket env)
|
||||
:destination-bucket-name (:data-bucket env)
|
||||
:source-key k
|
||||
:destination-key invoice-key})
|
||||
[[:propose-invoice
|
||||
[[:propose-invoice
|
||||
(-> k
|
||||
read-sysco-csv
|
||||
(extract-invoice-details sysco-vendor)
|
||||
@@ -246,7 +249,7 @@
|
||||
(alog/error ::cant-load-file
|
||||
:file k
|
||||
:error e e)
|
||||
(s3/copy-object {:source-bucket-name (:data-bucket env)
|
||||
(s3/copy-object {:source-bucket-name (:data-bucket env)
|
||||
:destination-bucket-name (:data-bucket env)
|
||||
:source-key k
|
||||
:destination-key (str "sysco/error/"
|
||||
@@ -256,6 +259,5 @@
|
||||
(doseq [k keys]
|
||||
(mark-key k))))
|
||||
|
||||
|
||||
(defn -main [& _]
|
||||
(execute "sysco" import-sysco))
|
||||
|
||||
@@ -742,6 +742,19 @@
|
||||
:total [:trim-commas-and-negate nil]}
|
||||
:multi #"\n"
|
||||
:multi-match? #"^\d+"}
|
||||
|
||||
;; REEL PRODUCE STATEMENT (QuickBooks layout -- no "Reel Produce" text on the page)
|
||||
{:vendor "Reel Produce"
|
||||
:keywords [#"reelproduce\.com" #"Statement"]
|
||||
:extract {:date #"^\s*([0-9]+/[0-9]+/[0-9]+)"
|
||||
:customer-identifier #"To:(?:.*?)\n\s*(.*?)\s{2,}"
|
||||
:invoice-number #"INV #(\d+)"
|
||||
:total #"Orig\. Amount \$([\d\-,]+\.\d{2,2})"}
|
||||
:parser {:date [:clj-time "MM/dd/yyyy"]
|
||||
:total [:trim-commas-and-negate nil]}
|
||||
:multi #"\n"
|
||||
:multi-match? #"^\s*[0-9]+/[0-9]+/[0-9]+\s+INV #"}
|
||||
|
||||
{:vendor "Paulino's Bakery"
|
||||
:keywords [#"paulinosbakery"]
|
||||
:extract {:date #"\s*([0-9]+/[0-9]+/[0-9]+)"
|
||||
|
||||
@@ -290,15 +290,15 @@
|
||||
"grubhub" :ccp-processor/grubhub
|
||||
"grub" :ccp-processor/grubhub
|
||||
"gh" :ccp-processor/grubhub
|
||||
(condp = (:name (:source order))
|
||||
"GRUBHUB" :ccp-processor/grubhub
|
||||
"UBEREATS" :ccp-processor/uber-eats
|
||||
"Uber Eats" :ccp-processor/uber-eats
|
||||
"DOORDASH" :ccp-processor/doordash
|
||||
"DoorDash" :ccp-processor/doordash
|
||||
"Koala" :ccp-processor/koala
|
||||
"koala-production" :ccp-processor/koala
|
||||
:ccp-processor/na))
|
||||
(let [src (some-> (:name (:source order)) str/lower-case)]
|
||||
(cond
|
||||
(nil? src) :ccp-processor/na
|
||||
(str/includes? src "doordash") :ccp-processor/doordash
|
||||
(str/includes? src "uber") :ccp-processor/uber-eats
|
||||
(str/includes? src "grubhub") :ccp-processor/grubhub
|
||||
(str/includes? src "postmates") :ccp-processor/uber-eats
|
||||
(str/includes? src "koala") :ccp-processor/koala
|
||||
:else :ccp-processor/na)))
|
||||
(= (:type t) "CARD")
|
||||
:ccp-processor/square
|
||||
|
||||
|
||||
@@ -70,3 +70,24 @@
|
||||
(is (= "NICK THE GREEK" (:customer-identifier result)))
|
||||
(is (= "600 VISTA WAY" (str/trim (:account-number result))))
|
||||
(is (= "946.24" (:total result)))))))
|
||||
|
||||
(deftest parse-reel-produce-statement-28676
|
||||
(testing "Should parse the Reel Produce statement layout that no longer prints 'Reel Produce' on the page"
|
||||
(let [pdf-file (io/file "dev-resources/Statement1_from_REEL_Produce_Inc.28676.pdf")
|
||||
pdf-text (:out (clojure.java.shell/sh "pdftotext" "-layout" (str pdf-file) "-"))
|
||||
results (sut/parse pdf-text)]
|
||||
(is (seq results) "Template should match and return results")
|
||||
(is (= 7 (count results)) "Should parse 7 invoices from statement")
|
||||
(doseq [result results]
|
||||
(is (= "Reel Produce" (:vendor-code result)))
|
||||
(is (= "Sushi Confidential - San Jose" (:customer-identifier result))))
|
||||
(is (= ["454379" "454826" "455120" "455683" "456654" "456774" "457171"]
|
||||
(mapv :invoice-number results)))
|
||||
(is (= ["1003.10" "530.85" "605.00" "1187.40" "164.00" "675.60" "265.75"]
|
||||
(mapv :total results)))
|
||||
;; totals add up to the statement's $4,431.70 amount due
|
||||
(is (= 4431.70 (->> results (map #(Double/parseDouble (:total %))) (reduce +))))
|
||||
(let [d (:date (first results))]
|
||||
(is (= 2026 (time/year d)))
|
||||
(is (= 6 (time/month d)))
|
||||
(is (= 23 (time/day d)))))))
|
||||
|
||||
Reference in New Issue
Block a user