procurement-ingest/lambdas/po/email_processor/tests/fixtures/adversarial/adv-missing-location-code.eml
Adam Moussa 14fad0c317
Add offline PO parser suite with scrubbed fixture corpus
132 tests: golden-file comparison for all 25 positive fixtures
(17 single-line new-PO + 8 cancellations, Decimal-exact via
parse_float=Decimal), every fail-closed gate reason code covered
(body-level triggers via 17 synthetic adversarial .eml mutations,
candidate-level via direct validate() unit tests), real multi-line
and comment/non-Coupa fallback fixtures, dual line-ending parse
identity, two-path enrich/save parity (site-extractor stream
guard), V10 URL-id corpus sweep, fixture hygiene (ses_auth pass +
scrub-marker leak sweep), and Bedrock dispatch/EMF assertions.

The suite loads handler/template_parser via importlib under
unique module names and binds the handler's bare sibling imports
around exec (tests/conftest.py load_handler gets the same
treatment) -- the WO suite caches bare 'handler'/'template_parser'
names in sys.modules, and bare imports here would silently bind
to the wrong pipeline. moto is imported before the handler so its
botocore stubber hook precedes boto3 session creation (the PO
conftest chain now loads at pytest session start).

Fixtures are scrubbed real S3 samples: transport/auth header
values replaced with same-shape placeholders (structure kept so
ses_auth still passes), per-file digit ciphers, amounts remapped
with sum==total re-established. The .gitignore exception is
scoped to the PO fixtures path only.

Refs: #99
2026-07-16 15:15:49 -04:00

615 lines
20 KiB
Text

Return-Path: =?utf-8?q?=3C0100abcdef012345-abcdef01-2345-6789-abcd-ef0123456?=
=?utf-8?q?789-6789ab=40mail=2Ecoupahost=2Ecom=3E?=
Received: from a41-238.smtp-out.amazonses.com (a41-238.smtp-out.amazonses.com
[203.0.113.25]) by inbound-smtp.us-east-1.amazonaws.com with SMTP id
fixture0123456789fixture0123456789fixtur for amazon_po@int.seahaven.com; Tue,
12 May 2026 14:02:54 +0000 (UTC)
Received-SPF: pass (spfCheck: domain of mail.coupahost.com designates
203.0.113.25 as permitted sender) client-ip=203.0.113.25; =?utf-8?q?envelop?=
=?utf-8?q?e-from=3D0100abcdef012345-abcdef01-2345-6789-abcd-ef0123456789-67?=
=?utf-8?q?89ab=40mail=2Ecoupahost=2Ecom=3B?=
helo=a41-238.smtp-out.amazonses.com;
Authentication-Results: amazonses.com; spf=pass (spfCheck: domain of
mail.coupahost.com designates 203.0.113.25 as permitted sender)
client-ip=203.0.113.25; =?utf-8?q?envelope-from=3D0100abcdef012345-abcdef01?=
=?utf-8?q?-2345-6789-abcd-ef0123456789-6789ab=40mail=2Ecoupahost=2Ecom=3B?=
helo=a41-238.smtp-out.amazonses.com; dkim=pass header.i=@amazonses.com;
dkim=pass header.i=@amazon.coupahost.com; dmarc=pass
header.from=amazon.coupahost.com;
X-SES-RECEIPT: =?utf-8?q?ScrubbedFixturePlaceholderTokenValue0123456789QqZzX?=
=?utf-8?q?xJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJj?=
=?utf-8?q?KkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkW?=
=?utf-8?q?wYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYy?=
=?utf-8?q?VvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvS?=
=?utf-8?q?crubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScru?=
=?utf-8?q?bbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbe?=
=?utf-8?q?dFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFi?=
=?utf-8?q?xturePlaceholderTokenVal=3D=3D?=
X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; =?utf-8?q?b=3DScrub/bedFixtur?=
=?utf-8?q?ePlaceholderTokenValue01234+56789QqZzXxJjKkWwYyVvScrubbedFixtureP?=
=?utf-8?q?laceholder/Tok+enValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePl?=
=?utf-8?q?aceh/olderTokenValue012345=3D=3B?= c=relaxed/simple;
s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1778594574; v=1;
bh=ScrubbedFi+xture+PlaceholderTokenValue01234=; =?utf-8?q?h=3DFrom=3ATo=3A?=
=?utf-8?q?Cc=3ABcc=3ASubject=3ADate=3AMessage-ID=3AMIME-Version=3AContent-T?=
=?utf-8?q?ype=3AX-SES-RECEIPT=3B?=
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple;
s=vtqzvxxcuybp44vxc3gxytxk7c3q5pf4; d=coupahost.com; t=1778594574;
i=@amazon.coupahost.com; =?utf-8?q?h=3DDate=3AFrom=3ATo=3AMessage-ID=3ASubj?=
=?utf-8?q?ect=3AMime-Version=3AContent-Type=3AContent-Transfer-Encoding=3B?=
bh=ScrubbedFi+xture+PlaceholderTokenValue01234=;
b=ScrubbedFixt+urePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvS
crubbedFixturePla/ceholderTokenValue0123456789QqZzXxJ/jK/kWwYyV+vSc
rubbedFixturePlaceholderTokenValue012345=
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple;
s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1778594574;
=?utf-8?q?h=3DDate=3AFrom=3ATo=3AMessage-ID=3ASubject=3AMime-Version=3ACont?=
=?utf-8?q?ent-Type=3AContent-Transfer-Encoding=3AFeedback-ID=3B?=
bh=ScrubbedFi+xture+PlaceholderTokenValue01234=;
b=ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvSc
rubbedFixturePlaceholder+TokenValue0123456789QqZzXxJjK+kWwYyVvScrub
bedFixturePlaceholderTokenValue012345678=
Date: Tue, 12 May 2026 14:02:53 +0000
From: Amazon <do_not_reply@amazon.coupahost.com>
To: amazon_po@int.seahaven.com
Message-ID: <abcdef0123456789-abcdef01-2345-6789-abcd-ef0123456789-abcdef@email.amazonses.com>
Subject: ***Copy for Reference*** New Purchase Order 2D-12503765 has been
issued
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="--==_mimepart_6a03330dccc3f_2224e2ae416689";
charset=UTF-8
Content-Transfer-Encoding: 7bit
auto-submitted: auto-generated
X-Auto-Response-Suppress: All
X-Coupa-Message-ID: abcdef01-2345-6789-abcd-ef0123456789@amazon.coupahost.com
Feedback-ID:
::1.us-east-1.1EkX7EjCmkFieZa3sp/Vd44tt5puPG/eKA1JQGrOxMM=:AmazonSES
X-SES-Outgoing: 2026.05.12-203.0.113.25
----==_mimepart_6a03330dccc3f_2224e2ae416689
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Powered by
http://www.coupa.com
Amazon Purchase Order #2D-12503765
Hi Amazon,
This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
and this same notification has been sent to your fellow team members with ac=
cess to the Coupa Supplier Portal.
Submitted By
Priya Raghavan
On Behalf Of
Priya Raghavan
Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
Total
55,206.00
USD
Items
GENERAL LABOURER
1.0 EACH x 55,206.00
55,206.00
USD
https://supplier.coupahost.com/orders/12503765?instance_url=3Dhttps%3A%2F%2Fa=
mazon.coupahost.com%2F&supplier_id=3D648018&
More Detail
PO ID
2D-12503765
Department
None
Status
Issued - Created
Last Opened
None
Order Date
05/12/26
Acknowledged At
None
Revision Date
05/12/26
Payment Term
90 NET
Req #
19886224
Shipping
None
Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
80 ORVILLE DR STE 100
BOHEMIA, NY 11716-2505
United States
Shipping
Amazon.com Services LLC (DYO1)
500 Hudson Valley
New Windsor, NY 12553-4744
United States
Attn: Priya Raghavan
Lines
1.0 EA
GENERAL LABOURER for 55,206.00 USD
Supplier SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) =E2=80=A2 Need B=
y 05/12/26 =E2=80=A2 Category Maintenance - Facilities =E2=80=A2 Part Numbe=
r "HVAC/Heating System Remova" =E2=80=A2 Account 1D-2S31-2231-73970-0000-000=
0-0000 =E2=80=A2 Period 2D Ops 2026
=C2=A0
Total
55,206.00
USD
https://www.coupa.com
Total Spend Management - Make Margins Multiply
To get immediate updates via SMS or change notification preferences, go https=
://supplier.coupahost.com/notification_preferences
----==_mimepart_6a03330dccc3f_2224e2ae416689
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE html>
<html>
<body align=3D"left" style=3D"width: 100% !important; min-width: 100%; box-=
sizing: border-box; font-weight: normal; text-align: left; line-height: 1.3=
; font-size: 16px; margin: 0; padding: 0;" width=3D"100">
<table bgcolor=3D"#f5f7fa" class=3D"new_email_body_container" color=3D"#1b1=
f28" style=3D"background-color: #f5f7fa; width: 100%; color: #1b1f28; font-=
family: Roboto Regular,Arial,sans-serif;" width=3D"100">
<tr>
<td align=3D"center">
<center style=3D"width: 100%;">
<table align=3D"center" class=3D"email_container" style=3D"max-width: 700px=
; width: inherit; text-align: center;" width=3D"0">
<tr>
<td>
<table align=3D"right" class=3D"email_header_footer email_header" role=3D"p=
resentation" style=3D"border-collapse: collapse;">
<tr align=3D"right" style=3D"text-align: right; padding-top: 5px; line-heig=
ht: 20px;">
<td>
<table>
<tr>
<td>
<span color=3D"#6a6969" style=3D"font-size: 12px; line-height: 14px; paddin=
g-right: 2px; color: #6a6969;">
Powered by
</span>
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
<a target=3D"_blank" href=3D"http://www.coupa.com"><img style=3D"vertical-a=
lign: middle;" height=3D"21" alt=3D"Coupa Software" title=3D"Coupa Software=
" src=3D"https://amazon.coupahost.com/images/email/coupa_new_logo.png"></a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table bgcolor=3D"white" class=3D"email_primary_card" style=3D"width: 100%;=
background-color: white; min-height: 250px; border-color: #d5dee7; border-=
style: solid; border-width: 4px 0;" width=3D"100">
<tr>
<td>
<table class=3D"email_header_footer" role=3D"presentation" style=3D"width: =
100%; text-align: left; padding: 30px 30px 0;">
<tr>
<td>
<img style=3D"display: inline-block;" height=3D"30" alt=3D"Amazon" title=3D=
"Amazon" src=3D"https://amazon.coupahost.com/public_attachments/EY3V23j4?et=
ag=3D1d7b8acf01de02751f58c89e0463a4a2ba236c4741f2625455da15700a6fac93&amp;s=
tyle=3Dsmall">
</td>
</tr>
<tr>
<td>
<p color=3D"#0971f1" style=3D"color: #0971f1; font-size: 22px; margin: 5px =
0 0;">Amazon Purchase Order #2D-12503765</p>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table class=3D"email_primary_card_body" role=3D"presentation" style=3D"wid=
th: 100%; padding: 15px 30px;">
<tr align=3D"left" color=3D"#1b1f28" style=3D"font-size: 16px; color: #1b1f=
28; line-height: 23px; text-align: left;">
<td>
<p>Hi Amazon,</p>
<p style=3D"width: 688px; max-width: 688px; padding-bottom: 12px;" width=3D=
"688">This is to inform you Purchase Order 2D-12503765 from Amazon has been=
issued, and this same notification has been sent to your fellow team membe=
rs with access to the Coupa Supplier Portal.</p>
<br>
<table style=3D"width: 700px;" width=3D"700">
<tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td>
</tr>
<tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td>
</tr>
<tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Supplier</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)</td>
</tr>
<tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Total</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">
<b><span title=3D"USD">55,206.00</span></b>
<span style=3D"font-weight: normal; font-size: 9px;">
USD
</span>
</td>
</tr>
<tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Items</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-top: 0; padding-le=
ft: 0; padding-bottom: 4px;">
<table style=3D"width: 450px;" width=3D"700">
<tr>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;"><b>GENERAL LABOURER</b></td>
<td align=3D"left" style=3D"max-width: 150px; vertical-align: top; text-tra=
nsform: capitalize; padding-right: 3px; padding-bottom: 4px; text-align: le=
ft; width: 100px; white-space: unset;" valign=3D"top" width=3D"100">
1.0 EACH x <span title=3D"USD">55,206.00</span>
</td>
<td align=3D"right" style=3D"text-align: right; min-width: 100px; max-width=
: 190px; padding-left: 3px; padding-bottom: 4px;">
<b>
<span title=3D"USD">55,206.00</span>
</b>
<span style=3D"font-weight: normal; font-size: 9px;">
USD
</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
<br><table style=3D"width: 100%; text-align: center;" width=3D"100" align=
=3D"center"><tr><td style=3D"text-align: center;" align=3D"center"><table a=
lign=3D"center" cellspacing=3D"0" style=3D"display: inline-block;"><tr>
<td><table cellpadding=3D"0" cellspacing=3D"0" align=3D"center" style=3D"ma=
rgin: 0px 10px 0 0;" class=3D"email_button"><tr><td style=3D"border-width: =
0;"><table cellpadding=3D"0" cellspacing=3D"0" align=3D"center"><tr class=
=3D"button_without_background"><td style=3D"text-align: center; border-radi=
us: 28px; height: 32px; box-sizing: border-box; min-width: 125px; backgroun=
d-color: #0971f1; padding: 6px 16px;" align=3D"center" height=3D"32" bgcolo=
r=3D"#0971f1"><a style=3D"text-decoration: none; text-align: center; font-w=
eight: 500; font-size: 14px; line-height: 20px; color: white;" align=3D"cen=
ter" color=3D"white" href=3D"https://supplier.coupahost.com/orders/12503765=
?instance_url=3Dhttps%3A%2F%2Famazon.coupahost.com%2F&amp;supplier_id=3D648=
018&amp;">View Order</a></td></tr></table></td></tr></table></td>
</tr></table></td></tr></table>
<br><br>
<table style=3D"margin: 0;">
<td bgcolor=3D"transparent" color=3D"#2f2f2f" height=3D"32" style=3D"height=
: 32px; background-color: transparent; font-size: 24px; font-weight: 700; c=
olor: #2f2f2f; font-family: Roboto Regular,Arial,sans-serif; padding: 0;">
More Detail
</td>
</table>
<div style=3D"padding: 10px;">
<table style=3D"width: 100%;" width=3D"100">
<tr>
<td style=3D"width: 0;" width=3D"0"></td>
<td align=3D"left" cellspacing=3D"5" style=3D"font-weight: bold; cell-spaci=
ng: 5px; text-transform: capitalize; text-align: left; padding: 3px;">PO ID=
</td>
<td cellspacing=3D"5" style=3D"cell-spacing: 5px; padding: 3px 3px 3xp 7px;=
">2D-12503765</td>
<td style=3D"width: 0;" width=3D"0"></td>
<td align=3D"left" cellspacing=3D"5" style=3D"font-weight: bold; cell-spaci=
ng: 5px; text-transform: capitalize; text-align: left; padding: 3px;">Depar=
tment</td>
<td cellspacing=3D"5" style=3D"cell-spacing: 5px; padding: 3px 3px 3xp 7px;=
">None</td>
</tr>
<tr>
<td style=3D"width: 0;" width=3D"0"></td>
<td align=3D"left" cellspacing=3D"5" style=3D"font-weight: bold; cell-spaci=
ng: 5px; text-transform: capitalize; text-align: left; padding: 3px;">Statu=
s</td>
<td cellspacing=3D"5" style=3D"cell-spacing: 5px; padding: 3px 3px 3xp 7px;=
">Issued - Created</td>
<td style=3D"width: 0;" width=3D"0"></td>
<td align=3D"left" cellspacing=3D"5" style=3D"font-weight: bold; cell-spaci=
ng: 5px; text-transform: capitalize; text-align: left; padding: 3px;">Last =
Opened</td>
<td cellspacing=3D"5" style=3D"cell-spacing: 5px; padding: 3px 3px 3xp 7px;=
"><span class=3D"show none">None</span></td>
</tr>
<tr>
<td style=3D"width: 0;" width=3D"0"></td>
<td align=3D"left" cellspacing=3D"5" style=3D"font-weight: bold; cell-spaci=
ng: 5px; text-transform: capitalize; text-align: left; padding: 3px;">Order=
Date</td>
<td cellspacing=3D"5" style=3D"cell-spacing: 5px; padding: 3px 3px 3xp 7px;=
">05/12/26</td>
<td style=3D"width: 0;" width=3D"0"></td>
<td align=3D"left" cellspacing=3D"5" style=3D"font-weight: bold; cell-spaci=
ng: 5px; text-transform: capitalize; text-align: left; padding: 3px;">Ackno=
wledged At</td>
<td cellspacing=3D"5" style=3D"cell-spacing: 5px; padding: 3px 3px 3xp 7px;=
"><span class=3D"show none">None</span></td>
</tr>
<tr>
<td style=3D"width: 0;" width=3D"0"></td>
<td align=3D"left" cellspacing=3D"5" style=3D"font-weight: bold; cell-spaci=
ng: 5px; text-transform: capitalize; text-align: left; padding: 3px;">Revis=
ion Date</td>
<td cellspacing=3D"5" style=3D"cell-spacing: 5px; padding: 3px 3px 3xp 7px;=
">05/12/26</td>
<td style=3D"width: 0;" width=3D"0"></td>
<td align=3D"left" cellspacing=3D"5" style=3D"font-weight: bold; cell-spaci=
ng: 5px; text-transform: capitalize; text-align: left; padding: 3px;">Payme=
nt Term</td>
<td cellspacing=3D"5" style=3D"cell-spacing: 5px; padding: 3px 3px 3xp 7px;=
">90 NET</td>
</tr>
<tr>
<td style=3D"width: 0;" width=3D"0"></td>
<td align=3D"left" cellspacing=3D"5" style=3D"font-weight: bold; cell-spaci=
ng: 5px; text-transform: capitalize; text-align: left; padding: 3px;">Req #=
</td>
<td cellspacing=3D"5" style=3D"cell-spacing: 5px; padding: 3px 3px 3xp 7px;=
">19886224</td>
<td style=3D"width: 0;" width=3D"0"></td>
<td align=3D"left" cellspacing=3D"5" style=3D"font-weight: bold; cell-spaci=
ng: 5px; text-transform: capitalize; text-align: left; padding: 3px;">Shipp=
ing</td>
<td cellspacing=3D"5" style=3D"cell-spacing: 5px; padding: 3px 3px 3xp 7px;=
"><span class=3D"show none">None</span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td colspan=3D"6">
<br>
</td>
</tr>
</table>
<table style=3D"width: 100%;" width=3D"100">
<tr>
<td style=3D"width: 0;" width=3D"0"></td>
<td cellspacing=3D"5" style=3D"cell-spacing: 5px; padding: 3px 3px 3xp 7px;=
" valign=3D"top">
<div height=3D"42" style=3D"font-weight: bold; font-size: 14px; text-transf=
orm: capitalize; height: 42px;">Supplier</div>
<hr align=3D"left" bgcolor=3D"black" color=3D"black" height=3D"1" style=3D"=
width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70">
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
<span class=3D"address">
80 ORVILLE DR STE 100<br>BOHEMIA, NY 11716-2505<br>United States
</span>
</td>
<td style=3D"width: 0;" width=3D"0"></td>
<td style=3D"width: 0;" width=3D"0"></td>
<td cellspacing=3D"5" style=3D"cell-spacing: 5px; padding: 3px 3px 3xp 7px;=
" valign=3D"top">
<div height=3D"42" style=3D"font-weight: bold; font-size: 14px; text-transf=
orm: capitalize; height: 42px;">Shipping</div>
<hr align=3D"left" bgcolor=3D"black" color=3D"black" height=3D"1" style=3D"=
width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70">
<span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan
</span>
</td>
</tr>
</table>
<table style=3D"margin: 0;"><tr valign=3D"middle"><td style=3D"font-size: 2=
4px; font-weight: 700; color: #2f2f2f; background-color: transparent; paddi=
ng: 0;" color=3D"#2f2f2f" bgcolor=3D"transparent">Lines
</td></tr></table>
<span style=3D"height: 5px;"></span><span style=3D"font-size: 12px; margin-=
left: 12px;">
</span>
<table style=3D"width: 650px; margin-left: 10px; border-collapse: separate;=
" width=3D"650">
<tr>
<td bgcolor=3D"#2d90d9" style=3D"width: 4px; background-color: #2d90d9;" wi=
dth=3D"4"></td>
<td style=3D"padding-left: 3px; font-size: 12px;">
<span style=3D"font-size: 13px;">
1.0 EA
<b>GENERAL LABOURER</b> for <b>55,206.00 USD</b>
<br>
</span>
<span style=3D"font-size: 11px;">
Supplier <strong><span title=3D"35755339-USUSD00-101 80 ORVILLE DR STE 100=
, BOHEMIA, NY 11716-2505, United States">SEA HAVEN INDUSTRIES:CORPORATE AP:=
SERVICES(OK6HE)</span></strong> <span class=3D"bull">=E2=80=A2</span> Need=
By <strong>05/12/26</strong> <span class=3D"bull">=E2=80=A2</span> Catego=
ry <strong>Maintenance - Facilities</strong> <span class=3D"bull">=E2=80=A2=
</span> Part Number <strong>"HVAC/Heating System Remova"</strong> =E2=80=
=A2 Account <strong>1D-2S31-2231-73970-0000-0000-0000</strong> <span class=
=3D"bull">=E2=80=A2</span> Period <strong>2D Ops 2026</strong>
</span>
</td>
</tr>
<tr height=3D"8" style=3D"height: 8px; font-size: 5px;">
<td height=3D"8" style=3D"height: 8px; font-size: 5px;">
=C2=A0
</td>
<td></td>
</tr>
<tr>
<td align=3D"right" colspan=3D"2">
<div style=3D"width: 50%;"></div>
<div align=3D"right" bgcolor=3D"#f7f7f7" style=3D"text-align: right; backgr=
ound-color: #f7f7f7; border-top-width: 1px; border-top-color: black; border=
-top-style: solid; float: right; width: 50%; padding: 10px;" width=3D"50">
<span style=3D"text-align: left;">
<span style=3D"float: left;">
<b>Total</b>
</span>
<span style=3D"float: right;">
<b><span title=3D"USD">55,206.00</span></b>
<span style=3D"font-weight: normal; font-size: 9px;">
USD
</span>
</span>
<span style=3D"font-size: 13px;">
</span>
</span>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table style=3D"width: 100%;">
<tr>
<td class=3D"email_header_footer">
<table style=3D"width: 100%;">
<tr>
<td>
<div style=3D"text-align: center;" align=3D"center">
<a target=3D"_blank" role=3D"link" tabindex=3D"-1" href=3D"https://www.coup=
a.com"><img height=3D"40px" alt=3D"Coupa Software" title=3D"Coupa Software"=
src=3D"https://amazon.coupahost.com/images/email/coupa_new_logo.png"></a>
<br>
<span align=3D"center" color=3D"#1565c0" style=3D"text-align: center; font-=
size: 14px; color: #1565c0; margin: 10px;">
Total Spend Management - Make Margins Multiply
</span>
<br>
</div>
</td>
</tr>
</table>
<table color=3D"#6a6a6a" style=3D"width: 100%; font-size: 12px; font-family=
: Roboto Regular,Arial,sans-serif; line-height: 12px; color: #6a6a6a; margi=
n: 0;" width=3D"100">
<tr>
<td>
<div style=3D"text-align: center; padding: 5px 0;" align=3D"center">
To get immediate updates via SMS or change notification preferences, go <a =
href=3D"https://supplier.coupahost.com/notification_preferences">here and a=
djust your settings</a>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
</body>
</html>
----==_mimepart_6a03330dccc3f_2224e2ae416689--