Skip to main content

@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.tsx and payment-methods.tsx following 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.ts as a fallback when Acumatica CardType is 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) and payment-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 ExpirationDate field to RawCreditCard interface in the middleware and extracted it in buildCreditCards, with a secondary fallback to the Details array for gateway-managed cards.
    • Added expirationDate?: string to CreditCard type in gesso-erp.
    • Both PaymentMethods.tsx and payment-methods.tsx now display expiry when the field is present.

    Invoice paid date (gesso-core, gesso-acumatica-middleware, gesso-acumatica, gesso-next, gesso-b2b-portal)

    • Added paidDate?: Date to the Invoice interface in gesso-core.
    • Added ApplicationsDefault to the $expand on single-invoice fetches in CompanyOrders.ts middleware. The ApplicationsDefault sub-table (AR invoice Applications tab) contains one row per payment application, each with a PaymentDate field.
    • Extracted paidDate in Invoice.utils.ts as the most recent paymentDate across all application rows. Handles partial-payment scenarios correctly.
    • Both Invoice.tsx (UI component) and invoices.tsx (b2b-portal) render Paid Date conditionally — only shown when the field is present. Field is absent if the AcroTest endpoint does not expose ApplicationsDefault; no breakage in that case.

    Shipped date on order detail (gesso-acumatica-middleware, gesso-erp, gesso-acumatica, gesso-next, gesso-b2b-portal)

    • Added ShipmentDate to RawShipmentDetail in CompanyOrders.ts. The Shipment entity is already fetched for tracking numbers; the date is now captured alongside and injected as _shippedDate on the order response.
    • Added shippedDate?: Date to CompanyOrder in gesso-erp.
    • Mapped in CompanyOrder.utils.ts and displayed in both CompanyOrderDetail.tsx and company-orders.tsx below the order placed date.
  • 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.ts as a fallback when Acumatica CardType is 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) and payment-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 ExpirationDate field to RawCreditCard interface in the middleware and extracted it in buildCreditCards, with a secondary fallback to the Details array for gateway-managed cards.
    • Added expirationDate?: string to CreditCard type in gesso-erp.
    • Both PaymentMethods.tsx and payment-methods.tsx now 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 ShipmentDate to RawShipmentDetail in CompanyOrders.ts. The Shipment entity is already fetched for tracking numbers; the date is now captured alongside and injected as _shippedDate on the order response.
    • Added shippedDate?: Date to CompanyOrder in gesso-erp.
    • Mapped in CompanyOrder.utils.ts and displayed in both CompanyOrderDetail.tsx and company-orders.tsx below the order placed date.
  • 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: Add customerOrderNbr field to CompanyOrder type
    • gesso-acumatica: Map CustomerOrder (Acumatica "Customer Order Number" / PO reference) to customerOrderNbr in buildCompanyOrders
    • gesso-acumatica-middleware: Add CustomerOrder field to RawSalesOrder interface
    • b2b-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