Skip to main content

Accounts Payable - Vendors & Bills

🔍 Problem Statement

As an internal finance team, I experience inefficiencies and manual work when managing payments to vendors, which results in delayed payments and inconsistent records.

💡 User Story

As an admin user, I want to create, manage, and track vendor bills from the platform, so that I can streamline AP workflows without relying on external tools.

🎯 Definition of Done (DoD)

✔ Business users (Admins) can view and manage all Vendors from a dedicated section in the platform, with support for:

  1. List view of all vendors with search, sort, and filter

  2. Create, Read, Update, Delete (CRUD) operations using Laravel-based backend logic

  3. Vendor details include

  4. First name

  5. Last name

  6. Email

  7. Phone

  8. Job title

  9. Date of birth

✔ Business users can manage Bills through a separate Accounts Payable > Bills section, with:

  1. List view of all bills, sortable and filterable by vendor, status, and date

  2. CRUD operations for one-time

  3. Each bill supports:

  4. Line items (manual input)

  5. PDF generation

✔ All actions (vendor creation, bill creation, updates, status changes, etc.) are powered by Pelcro’s CORE API endpoints, which:

  1. Serve as the single source of truth

  2. Are documented and stable for internal and future external use

  3. Are consumed by the Admin UI as a client of the API

✔ This change will impact:

  1. UI – Admin-only sections for Vendors and Bills

  2. API – New versioned CORE endpoints (e.g., /vendors, /bills)

  3. Backend – Laravel CRUD services for all related operations

✔ This solution will include the following limitations:

  1. No vendor self-serve access (OpenAPI/SDK not yet exposed)

  2. No delivery logic, rate automation, or accounting integrations

  3. No tax calculation or international currency handling

Vendors Resource:

  1. GET /v1/core/vendors – List vendors

  2. POST /v1/core/vendors – Create vendor

  3. GET /v1/core/vendors/{id} – Show vendor

  4. PUT /v1/core/vendors/{id} – Update vendor

  5. DELETE /v1/core/vendors/{id} – Delete vendor

Bills Resource:

  1. GET /v1/core/billing/bills – List bills

  2. POST /v1/core/billing/bills – Create bill

  3. GET /v1/core/billing/bills/{id} – Show bill

  4. POST /v1/core/billing/bills/{id}/finalize – Finalize bill

  5. POST /v1/core/billing/bills/{id}/mark-as-paid – Mark bill as paid

Publisher Interface

Vendors Management:

  1. GET /{site_id}/vendors – List vendors

  2. GET /{site_id}/vendors/create – Create vendor form

  3. GET /{site_id}/vendors/{vendor_id}/edit – Edit vendor form

  4. GET /{site_id}/vendors/export – Export vendors

  5. POST /{site_id}/vendors – Store vendor

  6. GET /{site_id}/vendors/{vendor_id} – Show vendor

  7. PUT /{site_id}/vendors/{vendor_id} – Update vendor

Bills Management:

  1. GET /{site_id}/bills – List bills

  2. GET /{site_id}/bills/create – Create bill form

  3. POST /{site_id}/bills – Store bill

  4. GET /{site_id}/bills/{bill_id} – Show bill

  5. GET /{site_id}/bills/export – Export bills

  6. POST /{site_id}/bills/{bill_id}/finalize – Finalize bill

  7. POST /{site_id}/bills/{bill_id}/mark-as-paid – Mark as paid

Events:

  1. Bills:

  2. Bill\Created – When a bill is created

  3. Bill\Finalized – When a bill is finalized

  4. Bill\Paid – When a bill is marked as paid

  5. Vendors:

  6. Vendor\Created – When a vendor is created

  7. Vendor\Updated – When a vendor is updated

  8. Vendor\Deleted – When a vendor is deleted

Webhooks:

  1. Bill Webhooks:

  2. BillCreated – Webhook listener for bill creation

  3. BillFinalized – Webhook listener for bill finalization

  4. BillPaid – Webhook listener for bill payment

  5. Vendor Webhooks:

  6. VendorCreated – Webhook listener for vendor creation

  7. VendorUpdated – Webhook listener for vendor updates

  8. VendorDeleted – Webhook listener for vendor deletion

Status: Available

Log in to comment and vote

No comments yet

Be the first to share your thoughts.