@acromedia/gesso-b2b-portal
0.2.2
Patch Changes
-
cd5a6d5: Address portal demo review feedback (GESSO-2442).
Remove Purchase Agreements from Payment Methods (
gesso-next,gesso-b2b-portal)- Removed the Purchase Agreements section from
PaymentMethods.tsxandpayment-methods.tsxfollowing stakeholder confirmation. The section (open PA count) was presentation-layer data that didn't belong on the Payment Methods page.
Credit card type resolution (
gesso-acumatica,gesso-next,gesso-b2b-portal)- Added BIN-prefix detection in
PaymentMethod.utils.tsas a fallback when AcumaticaCardTypeis absent or "Other". Derives card network from the raw card number before masking (Visa/Mastercard/Amex/Discover). Handles manually-entered cards where a payment gateway has not set the type automatically. - Updated
PaymentMethods.tsx(UI component) andpayment-methods.tsx(b2b-portal) to skip "Other" as a display label and use the resolved type for both the card title and logo lookup.
Credit card expiry date (
gesso-erp,gesso-acumatica,gesso-next,gesso-b2b-portal)- Added
ExpirationDatefield toRawCreditCardinterface in the middleware and extracted it inbuildCreditCards, with a secondary fallback to theDetailsarray for gateway-managed cards. - Added
expirationDate?: stringtoCreditCardtype ingesso-erp. - Both
PaymentMethods.tsxandpayment-methods.tsxnow display expiry when the field is present.
Invoice paid date (
gesso-core,gesso-acumatica-middleware,gesso-acumatica,gesso-next,gesso-b2b-portal)- Added
paidDate?: Dateto theInvoiceinterface ingesso-core. - Added
ApplicationsDefaultto the$expandon single-invoice fetches inCompanyOrders.tsmiddleware. TheApplicationsDefaultsub-table (AR invoice Applications tab) contains one row per payment application, each with aPaymentDatefield. - Extracted
paidDateinInvoice.utils.tsas the most recentpaymentDateacross all application rows. Handles partial-payment scenarios correctly. - Both
Invoice.tsx(UI component) andinvoices.tsx(b2b-portal) renderPaid Dateconditionally — only shown when the field is present. Field is absent if the AcroTest endpoint does not exposeApplicationsDefault; no breakage in that case.
Shipped date on order detail (
gesso-acumatica-middleware,gesso-erp,gesso-acumatica,gesso-next,gesso-b2b-portal)- Added
ShipmentDatetoRawShipmentDetailinCompanyOrders.ts. The Shipment entity is already fetched for tracking numbers; the date is now captured alongside and injected as_shippedDateon the order response. - Added
shippedDate?: DatetoCompanyOrderingesso-erp. - Mapped in
CompanyOrder.utils.tsand displayed in bothCompanyOrderDetail.tsxandcompany-orders.tsxbelow the order placed date.
- Removed the Purchase Agreements section from
-
Updated dependencies [cd5a6d5]
- @acromedia/gesso-erp@8.2.2
- @acromedia/gesso-acumatica@8.1.2
- @acromedia/gesso-acumatica-middleware@8.1.2
0.2.1
Patch Changes
-
c8ca3fb: Address portal demo review feedback (GESSO-2442).
Credit card type resolution (
gesso-acumatica,gesso-next,gesso-b2b-portal)- Added BIN-prefix detection in
PaymentMethod.utils.tsas a fallback when AcumaticaCardTypeis absent or "Other". Derives card network from the raw card number before masking (Visa/Mastercard/Amex/Discover). Handles manually-entered cards where a payment gateway has not set the type automatically. - Updated
PaymentMethods.tsx(UI component) andpayment-methods.tsx(b2b-portal) to skip "Other" as a display label and use the resolved type for both the card title and logo lookup.
Credit card expiry date (
gesso-erp,gesso-acumatica,gesso-next,gesso-b2b-portal)- Added
ExpirationDatefield toRawCreditCardinterface in the middleware and extracted it inbuildCreditCards, with a secondary fallback to theDetailsarray for gateway-managed cards. - Added
expirationDate?: stringtoCreditCardtype ingesso-erp. - Both
PaymentMethods.tsxandpayment-methods.tsxnow display expiry when the field is present.
Shipped date on order detail (
gesso-acumatica-middleware,gesso-erp,gesso-acumatica,gesso-next,gesso-b2b-portal)- Added
ShipmentDatetoRawShipmentDetailinCompanyOrders.ts. The Shipment entity is already fetched for tracking numbers; the date is now captured alongside and injected as_shippedDateon the order response. - Added
shippedDate?: DatetoCompanyOrderingesso-erp. - Mapped in
CompanyOrder.utils.tsand displayed in bothCompanyOrderDetail.tsxandcompany-orders.tsxbelow the order placed date.
- Added BIN-prefix detection in
-
Updated dependencies [c8ca3fb]
-
Updated dependencies [1556d54]
- @acromedia/gesso-erp@8.2.1
- @acromedia/gesso-acumatica@8.1.1
- @acromedia/gesso-acumatica-middleware@8.1.1
0.2.0
Minor Changes
-
f6162ed: feat: add My Account page with contact info and current-month orders (GESSO-2378)
- New Contact middleware endpoint reads contactId from JWT and fetches phone/jobTitle from Acumatica Contact API
- New useAccount plugin implementation backed by Contact endpoint, replacing the mock; wired in erp.ts
- Fix location addresses: expand LocationContact/Address and use per-location address when AddressOverride=true, falling back to customer MainContact address otherwise
- Add /portal/my-account page showing account info (name, email, phone, job title) and orders placed this month filtered by the current contact
- Add My Account nav card to portal dashboard
-
f6162ed: feat: replace ROPC authentication with OIDC Authorization Code + PKCE flow for the B2B portal
Patch Changes
-
f6162ed: feat: add invoice list and detail page with location, division, placed by, file attachments, and dynamic currency support
-
f6162ed: feat: add Manage Team page listing company contacts with role, division, and location
-
f6162ed: feat: enhance Company Info page with tabbed layout (Details + Divisions & Locations) and member counts per division
- Company Info page now has two tabs: Details (account + billing info) and Divisions & Locations (expandable accordion)
- CompanyNode type gains optional memberCount field
- Hierarchy middleware batch-fetches contact counts per company alongside locations
- Accordion header shows location count and member count per division
- /portal/company-hierarchy page removed (route folded into Company Info)
- Dashboard no longer shows a separate Company Structure card
-
f6162ed: Add Purchase Order number to company orders and remove Purchase Agreements from portal scope.
gesso-erp: AddcustomerOrderNbrfield toCompanyOrdertypegesso-acumatica: MapCustomerOrder(Acumatica "Customer Order Number" / PO reference) tocustomerOrderNbrinbuildCompanyOrdersgesso-acumatica-middleware: AddCustomerOrderfield toRawSalesOrderinterfaceb2b-portal: Show "Purchase Order #" column in company orders list and detail; remove Purchase Agreements nav card from dashboard and "Purchase Order Settings" section from payment methods page
-
Updated dependencies [f6162ed]
-
Updated dependencies [f6162ed]
-
Updated dependencies [f6162ed]
-
Updated dependencies [f6162ed]
-
Updated dependencies [f6162ed]
-
Updated dependencies [f6162ed]
- @acromedia/gesso-acumatica@8.1.0
- @acromedia/gesso-acumatica-middleware@8.1.0
- @acromedia/gesso-erp@8.2.0