SAP-samples/btp-cap-dox-invoice-validation

7 errors, 27 warningsmain

34 issues need attention.

7 errors and 27 warnings in the paths between 58 routes and 13 tables.

ROUTE FINDINGS26 of 58 · 7/7 rules
ROUTES
58
TABLES
13
FILES READ
59
RULES RUN
7/7

34 findings

  • GET /odata/v4/invoice-assessment/Projects can reach Projects without authenticating.

    auth-before-dataGET /odata/v4/invoice-assessment/Projects → Projects

  • GET /odata/v4/invoice-assessment/Invoices can reach Invoices without authenticating.

    auth-before-dataGET /odata/v4/invoice-assessment/Invoices → Invoices

  • GET /odata/v4/invoice-assessment/Documents can reach Documents without authenticating.

    auth-before-dataGET /odata/v4/invoice-assessment/Documents → Documents

  • POST /odata/v4/invoice-assessment/Documents can reach Documents without authenticating.

    auth-before-dataPOST /odata/v4/invoice-assessment/Documents → Documents

  • PATCH /odata/v4/invoice-assessment/Documents can reach Documents without authenticating.

    auth-before-dataPATCH /odata/v4/invoice-assessment/Documents → Documents

  • DELETE /odata/v4/invoice-assessment/Documents can reach Documents without authenticating.

    auth-before-dataDELETE /odata/v4/invoice-assessment/Documents → Documents

  • GET /odata/v4/invoice-assessment/FlowStatuses can reach FlowStatuses without authenticating.

    auth-before-dataGET /odata/v4/invoice-assessment/FlowStatuses → FlowStatuses

  • GET /odata/v4/invoice-assessment/Projects has no validator or rate limiter attached.

    public-entry-guarded

  • GET /odata/v4/invoice-assessment/Invoices has no validator or rate limiter attached.

    public-entry-guarded

  • GET /odata/v4/invoice-assessment/Documents has no validator or rate limiter attached.

    public-entry-guarded

  • POST /odata/v4/invoice-assessment/Documents has no validator or rate limiter attached.

    public-entry-guarded

  • PATCH /odata/v4/invoice-assessment/Documents has no validator or rate limiter attached.

    public-entry-guarded

  • DELETE /odata/v4/invoice-assessment/Documents has no validator or rate limiter attached.

    public-entry-guarded

  • GET /odata/v4/invoice-assessment/FlowStatuses has no validator or rate limiter attached.

    public-entry-guarded

  • GET /odata/v4/invoice-assessment/getUserInfo has no validator or rate limiter attached.

    public-entry-guarded

  • GET /odata/v4/invoice-assessment/getPdfBytesByInvoiceID has no validator or rate limiter attached.

    public-entry-guarded

  • GET /odata/v4/invoice-assessment/getPdfBytesByKey has no validator or rate limiter attached.

    public-entry-guarded

  • GET /odata/v4/invoice-assessment/getFileFromS3 has no validator or rate limiter attached.

    public-entry-guarded

  • GET /odata/v4/invoice-assessment/getPositionsFromDOX has no validator or rate limiter attached.

    public-entry-guarded

  • GET /odata/v4/invoice-assessment/getLineItemsFromDOX has no validator or rate limiter attached.

    public-entry-guarded

  • GET /odata/v4/invoice-assessment/areInvoiceExtractionsCompleted has no validator or rate limiter attached.

    public-entry-guarded

  • GET /odata/v4/invoice-assessment/doxGetPositions has no validator or rate limiter attached.

    public-entry-guarded

  • GET /odata/v4/invoice-assessment/doxGetLineItems has no validator or rate limiter attached.

    public-entry-guarded

  • POST /odata/v4/invoice-assessment/setCV has no validator or rate limiter attached.

    public-entry-guarded

  • POST /odata/v4/invoice-assessment/acceptOrRejectInvoice has no validator or rate limiter attached.

    public-entry-guarded

  • POST /odata/v4/invoice-assessment/assignProjectRole has no validator or rate limiter attached.

    public-entry-guarded

  • POST /odata/v4/invoice-assessment/uploadFileToS3 has no validator or rate limiter attached.

    public-entry-guarded

  • POST /odata/v4/invoice-assessment/uploadToDOXToGetPositions has no validator or rate limiter attached.

    public-entry-guarded

  • POST /odata/v4/invoice-assessment/uploadToDOXToGetLineItems has no validator or rate limiter attached.

    public-entry-guarded

  • POST /odata/v4/invoice-assessment/deleteFileFromS3 has no validator or rate limiter attached.

    public-entry-guarded

  • POST /odata/v4/invoice-assessment/doxExtractFromInvoices has no validator or rate limiter attached.

    public-entry-guarded

  • POST / has no validator or rate limiter attached.

    public-entry-guarded

  • GET /hello has no validator or rate limiter attached.

    public-entry-guarded

  • Comments is not connected to anything.

    no-orphan-datastore

Part of this repository was not read, so this report is incomplete. Unread: api/srv/invoice-assessment-service.cds, api/srv/invoice-assessment-service.cds, api/srv/invoice-assessment-service.cds.

Free account, no card. The repository opens as an editable graph.

Add this check to the README

wyro architecture badge
[![wyro architecture](https://wyro.in/api/badge/SAP-samples/btp-cap-dox-invoice-validation)](https://wyro.in/scan/SAP-samples/btp-cap-dox-invoice-validation)

It updates itself whenever the repository changes and links back to this report.

What this is

Wyro reads the repository’s routes and data models and checks the paths between them: whether a route can reach a table without passing a guard, whether a datastore holding personal data is exposed to a public read, whether an endpoint that issues credentials requires the credentials it issues.

It is rule-based, not a model. The same commit produces the same result every time, and it does not guess at business rules it cannot see. A rule with nothing to look at is reported as not having run — never as a pass.

This check runs on public source through GitHub’s own API and needs no account. A free account adds the editable architecture canvas, private repositories on paid plans, and a CI gate. No card required.