Repository Analysis

invoiceninja/invoiceninja

A source-available invoice, quote, project and time-tracking app built with Laravel

4.6 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of invoiceninja/invoiceninja, a PHP project with 9,978 GitHub stars. SynthScan v2.0 examined 1,053,695 lines of code across 4252 source files, recording 4292 pattern matches distributed across 9 syntactic categories. The overall adjusted score of 4.6 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

4.6
Adjusted Score
4.6
Raw Score
100%
Time Factor
2026-08-08
Last Push
10.0K
Stars
PHP
Language
1.1M
Lines of Code
4.3K
Files
4.3K
Pattern Hits
2026-08-09
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 0MEDIUM 309LOW 3983

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 4292 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers3633 hits · 3454 pts
SeverityFileLineSnippetContext
LOWapp/DataProviders/USStates.php33961 public static function getStateFromThreeDigitPrefix($zip): mixedCODE
LOWapp/DataMapper/EmailTemplateDefaults.php137 public static function emailPaymentFailedSubject()CODE
LOWapp/DataMapper/EmailTemplateDefaults.php142 public static function emailPaymentFailedTemplate()CODE
LOWapp/DataMapper/EmailTemplateDefaults.php159 public static function emailVendorNotificationSubject()CODE
LOWapp/DataMapper/EmailTemplateDefaults.php164 public static function emailVendorNotificationBody()CODE
LOWapp/DataMapper/EmailTemplateDefaults.php186 public static function emailInvoiceReminderTemplate()CODE
LOWapp/DataMapper/EmailTemplateDefaults.php210 public static function emailPurchaseOrderSubject()CODE
LOWapp/DataMapper/EmailTemplateDefaults.php215 public static function emailPurchaseOrderTemplate()CODE
LOWapp/DataMapper/EmailTemplateDefaults.php236 public static function emailPaymentPartialTemplate()CODE
LOWapp/DataMapper/EmailTemplateDefaults.php243 public static function emailPaymentPartialSubject()CODE
LOWapp/DataMapper/EmailTemplateDefaults.php278 public static function emailReminderEndlessSubject()CODE
LOWapp/DataMapper/EmailTemplateDefaults.php283 public static function emailReminderEndlessTemplate()CODE
LOWapp/DataMapper/CompanySettings.php959 public static function notificationAdminDefaults(): stdClassCODE
LOWapp/DataMapper/CompanySettings.php979 public static function getEntityVariableDefaults(): stdClassCODE
LOWapp/DataMapper/ReportData.php59 public static function fromTransactionEventPayload(array $data, ?int $eventId): selfCODE
LOWapp/DataMapper/FranceEReporting/FRReportEntryData.php72 public static function fromTransactionEventPayload(array $data, int $eventId): selfCODE
LOWapp/DataMapper/FranceEReporting/FRReportEntryData.php83 public static function supportsTransactionEventId(int $eventId): boolCODE
LOWapp/DataMapper/FranceEReporting/PartyData.php74 private static function publicIdentifiersFromArray(mixed $data): arrayCODE
LOWapp/DataMapper/FranceEReporting/FRReportData.php129 public static function rectificativeTransactionReport(CODE
LOWapp/DataMapper/FranceEReporting/FRReportData.php148 public static function rectificativePaymentReport(CODE
LOWapp/DataMapper/FranceEReporting/FRReportData.php167 public static function combinedRectificativeReport(CODE
LOWapp/DataMapper/FranceEReporting/DeclarantPartyData.php73 private static function publicIdentifiersFromArray(mixed $data): arrayCODE
LOWapp/DataMapper/Tax/TaxModel.php244 public function stubVatNumbersOnSubregions(): selfCODE
LOWapp/Mail/TemplateEmail.php59 private function buildLinksForCustomDesign(): stringCODE
LOWapp/Mail/VendorTemplateEmail.php51 private function buildLinksForCustomDesign(): stringCODE
LOWapp/Mail/Engine/PaymentEmailEngine.php402 private function formatInvoiceReferencesSubject()CODE
LOWapp/Casts/UserSettingsCast.php111 private function hasResponseOnlyCalendarConnection(mixed $value): boolCODE
LOWapp/Libraries/MultiDB.php113 public static function checkExpenseMailboxAvailable($expense_mailbox): boolCODE
LOWapp/Libraries/MultiDB.php173 public static function checkUserAndCompanyCoExist($email, $company_key): boolCODE
LOWapp/Libraries/MultiDB.php404 public static function findAndSetDbByShopifyName($shopify_name): ?CompanyCODE
LOWapp/Libraries/MultiDB.php421 public static function findAndSetDbByLegalEntityId($legal_entity_id): ?CompanyCODE
LOWapp/Libraries/MultiDB.php455 public static function findAndSetDbByInappTransactionId($transaction_id): boolCODE
LOWapp/Libraries/MultiDB.php490 public static function findAndSetDbByVendorContactKey($contact_key): boolCODE
LOWapp/Libraries/MultiDB.php578 public static function findAndSetDbByExpenseMailbox($expense_mailbox)CODE
LOWapp/Utils/Encode.php88 private static function detectAndHandleUTFEncoding(string $data): ?stringCODE
LOWapp/Utils/Number.php62 public static function formatValueNoTrailingZeroes($value, $entity): stringCODE
LOWapp/Utils/HtmlEngine.php1194 protected function generateEntityImagesMarkup()CODE
LOWapp/Utils/VendorHtmlEngine.php821 protected function generateEntityImagesMarkup()CODE
LOWapp/Utils/Traits/MakesInvoiceValues.php195 private function transformColumnsForHeader(array $columns): arrayCODE
LOWapp/Utils/Traits/MakesInvoiceValues.php227 private function transformColumnsForLineItems(array $columns): arrayCODE
LOWapp/Utils/Traits/GeneratesConvertedQuoteCounter.php236 public function getNextRecurringInvoiceNumber(Client $client, $recurring_invoice)CODE
LOWapp/Utils/Traits/GeneratesConvertedQuoteCounter.php250 public function getNextRecurringQuoteNumber(Client $client, $recurring_quote)CODE
LOWapp/Utils/Traits/GeneratesConvertedQuoteCounter.php379 public function getNextRecurringExpenseNumber(RecurringExpense $expense): stringCODE
LOWapp/Utils/Traits/MakesDates.php133 public function calculateStartAndEndDates(array $data, ?Company $company = null): arrayCODE
LOWapp/Utils/Traits/MakesDates.php168 public function calculatePreviousPeriodStartAndEndDates(array $data, ?Company $company = null): arrayCODE
LOWapp/Utils/Traits/GeneratesCounter.php108 public function getNextRecurringInvoiceNumber(Client $client, $recurring_invoice)CODE
LOWapp/Utils/Traits/GeneratesCounter.php122 public function getNextRecurringQuoteNumber(Client $client, $recurring_quote)CODE
LOWapp/Utils/Traits/GeneratesCounter.php163 private function getNextCompanyEntityNumber(string $entity, $model): stringCODE
LOWapp/Utils/Traits/GeneratesCounter.php240 public function getNextPurchaseOrderNumber(PurchaseOrder $purchase_order): stringCODE
LOWapp/Utils/Traits/GeneratesCounter.php251 public function getNextRecurringExpenseNumber(RecurringExpense $expense): stringCODE
LOWapp/Utils/Traits/AppSetup.php67 private function updateEnvironmentProperty(string $property, $value): voidCODE
LOWapp/Utils/Traits/Payment/Refundable.php45 private function refundPaymentWithNoInvoices(array $data)CODE
LOWapp/Utils/Traits/Payment/Refundable.php88 private function refundPaymentWithInvoices($data)CODE
LOWapp/Utils/Traits/Notifications/UserNotifies.php32 public function findUserNotificationTypes($invitation, $company_user, $entity_name, $required_permissions): arrayCODE
LOWapp/Utils/Traits/Notifications/UserNotifies.php63 public function findUserEntityNotificationType($entity, $company_user, array $required_permissions): arrayCODE
LOWapp/Utils/Traits/Notifications/UserNotifies.php89 private function addSpecialUserPermissionForEntity($entity, array $required_permissions): arrayCODE
LOWapp/Utils/Traits/Notifications/UserNotifies.php94 private function removeSpecialUserPermissionForEntity($entity, $required_permissions)CODE
LOWapp/Utils/Traits/Notifications/UserNotifies.php117 public function findCompanyUserNotificationType($company_user, $required_permissions): arrayCODE
LOWapp/Utils/Traits/Notifications/UserNotifies.php175 public function findEntityAssignedNotification(\App\Models\CompanyUser $company_user, string $entity)CODE
LOWapp/Repositories/CompanyGatewayRepository.php55 public function addGatewayToCompanyGatewayIds(CompanyGateway $company_gateway)CODE
3573 more matches not shown…
Decorative Section Separators308 hits · 1026 pts
SeverityFileLineSnippetContext
MEDIUMapp/DataMapper/CompanyDefaults/CountryDefaults.php42 // ── Americas ──────────────────────────────────────────────COMMENT
MEDIUMapp/DataMapper/CompanyDefaults/CountryDefaults.php113 // ── Europe (EU) ──────────────────────────────────────────COMMENT
MEDIUMapp/DataMapper/CompanyDefaults/CountryDefaults.php385 // ── Europe (Non-EU) ──────────────────────────────────────COMMENT
MEDIUMapp/DataMapper/CompanyDefaults/CountryDefaults.php438 // ── Asia & Middle East ───────────────────────────────────COMMENT
MEDIUMapp/DataMapper/CompanyDefaults/CountryDefaults.php536 // ── Oceania ──────────────────────────────────────────────COMMENT
MEDIUMapp/DataMapper/CompanyDefaults/CountryDefaults.php562 // ── Africa ───────────────────────────────────────────────COMMENT
MEDIUMapp/PaymentDrivers/HelcimPaymentDriver.php352 // ── Status check ──────────────────────────────────────────────────────COMMENT
MEDIUMapp/PaymentDrivers/HelcimPaymentDriver.php368 // ── Amount check ──────────────────────────────────────────────────────COMMENT
MEDIUMapp/PaymentDrivers/HelcimPaymentDriver.php393 // ── Currency check ────────────────────────────────────────────────────COMMENT
MEDIUMapp/PaymentDrivers/Helcim/ACH.php277 // ── Case (a): synchronous ACH — transactionId present ────────────────COMMENT
MEDIUMapp/PaymentDrivers/Helcim/ACH.php326 // ── Case (b): asynchronous ACH — no transactionId yet ────────────────COMMENT
MEDIUMapp/Services/Chart/AnalyticsQueries.php552 // ─── Chartable Time-Series Queries ──────────────────────────────COMMENT
MEDIUMapp/Services/Chart/AnalyticsQueries.php1201 // ─── Recurring Expense Analytics ────────────────────────────────COMMENT
MEDIUMapp/Services/Chart/AnalyticsQueries.php1325 // ─── Project Analytics ──────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php72 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php75 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php88 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php90 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php97 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php99 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php104 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php107 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php112 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php115 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php123 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php126 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php134 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php136 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php143 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/BcMathIrregularFloatsTest.php146 // ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php129 // ─── getClientPaymentDelays ─────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php251 // ─── getClientPaymentSummary ────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php322 // ─── getCompanyPaymentSummary ───────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php358 // ─── getOutstandingInvoicesForForecasting ────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php490 // ─── getRecurringInvoiceProjections ─────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php573 // ─── getRecurringExpenseProjections ──────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php620 // ─── getUpcomingExpenses ────────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php721 // ─── getQuoteConversionHistory ──────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php814 // ─── getOpenQuotesForForecasting ────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php944 // ─── getPaymentDelayTrend ───────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php986 // ─── Cross-company isolation ────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php1054 // ─── Chart Queries: MRR ─────────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php1226 // ─── Chart Queries: MRR/ARR Totals ──────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php1327 // ─── Chart Queries: Payment Delay Chart ─────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php1356 // ─── Chart Queries: Quote Pipeline ──────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php1489 // ─── Chart Queries: Late Payment Rate ───────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php1542 // ─── Chart Queries: AR Aging Buckets ────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php1660 // ─── Service Layer: analytics_summary / analytics_totals ────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php1690 // ─── API Endpoints ──────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/AnalyticsQueriesTest.php1722 // ─── Quote Pipeline: Non-Zero Results ───────────────────────────COMMENT
MEDIUMtests/Unit/Chart/ClientPaymentAnalyticsTest.php127 // ─── Green Indicators ───────────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/ClientPaymentAnalyticsTest.php153 // ─── Red Indicators ─────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/ClientPaymentAnalyticsTest.php176 // ─── Risk Score Ordering ────────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/ClientPaymentAnalyticsTest.php209 // ─── Risk Level Mapping ─────────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/ClientPaymentAnalyticsTest.php229 // ─── Company Summary Included ───────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/ClientPaymentAnalyticsTest.php245 // ─── Thresholds Included ────────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/ClientPaymentAnalyticsTest.php259 // ─── Empty Results ──────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/ClientPaymentAnalyticsTest.php272 // ─── API Endpoint ───────────────────────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/CashFlowForecastTest.php123 // ─── Outstanding Invoice Projection ─────────────────────────────COMMENT
MEDIUMtests/Unit/Chart/CashFlowForecastTest.php191 // ─── Recurring Invoice Projection ───────────────────────────────COMMENT
248 more matches not shown…
Over-Commented Block212 hits · 195 pts
SeverityFileLineSnippetContext
LOWapp/DataMapper/Sources/PayPalBalanceAffecting.php241// $data = iterator_to_array($stmt->process($csv));COMMENT
LOWapp/DataMapper/Sources/PayPalBalanceAffecting.php261// $client_repo = new ClientRepository(new ClientContactRepository());COMMENT
LOWapp/DataMapper/Sources/PayPalBalanceAffecting.php281// if(!$contact) {COMMENT
LOWapp/Providers/AppServiceProvider.php41 /**COMMENT
LOWapp/Utils/TranslationHelper.php41COMMENT
LOWapp/Utils/TranslationHelper.php81 // return $term;COMMENT
LOWapp/Utils/VendorHtmlEngine.php901 // </td>COMMENT
LOWapp/Utils/PaymentHtmlEngine.php361 // <tr style="border: 0 !important; ">COMMENT
LOWapp/Utils/Ninja.php181COMMENT
LOWapp/Utils/Traits/WithSecureContext.php61 // {COMMENT
LOWapp/Models/Product.php121 self::PRODUCT_TYPE_EXEMPT => 'E', // EXEMPT_FROM_TAX =COMMENT
LOWapp/Models/CompanyGateway.php121 4 => ['card' => 'images/credit_cards/Test-AmericanExpress-Icon.png', 'text' => 'American Express'],COMMENT
LOWapp/Models/Quote.php481 }COMMENT
LOWapp/Models/Invoice.php801 Product::PRODUCT_TYPE_ZERO_RATED => $tax_type = ctrans('texts.zero_rated'),COMMENT
LOWapp/Models/BankTransactionRule.php161 // foreach($this->rules as $key => $rule)COMMENT
LOWapp/Models/BankTransactionRule.php181 // //search invoicesCOMMENT
LOWapp/Models/BankTransactionRule.php201 // {COMMENT
LOWapp/Models/CompanyToken.php101 // ->where('company_id', $this->company_id)COMMENT
LOWapp/Models/BaseModel.php201COMMENT
LOWapp/PaymentDrivers/GoCardlessPaymentDriver.php301 //after i resolve the payment hash, ensure the invoice has not been marked as paid and the payment does not alreCOMMENT
LOWapp/PaymentDrivers/GoCardlessPaymentDriver.php321COMMENT
LOWapp/PaymentDrivers/PayPalPPCPPaymentDriver.php21use App\Exceptions\PaymentFailed;COMMENT
LOWapp/PaymentDrivers/PayFast/PaymentCompletedWebhook.php41 // 'payment_status' => 'COMPLETE',COMMENT
LOW…p/PaymentDrivers/Authorize/AuthorizeCreateCustomer.php121 // $controller = new net\authorize\api\controller\GetCustomerProfileController($request);COMMENT
LOW…p/PaymentDrivers/Authorize/AuthorizeCreateCustomer.php141// $request = new net\authorize\api\contract\v1\GetCustomerProfileIdsRequest();COMMENT
LOWapp/PaymentDrivers/Authorize/AuthorizeCreditCard.php121 }COMMENT
LOWapp/PaymentDrivers/Factory/ForteCustomerFactory.php41 "region" => $client->state,COMMENT
LOWapp/PaymentDrivers/Stripe/SEPA.php161 $data['client'] = $this->stripe->client;COMMENT
LOWapp/Livewire/RequiredClientInfo.php141 // 'client.shipping_postal_code' => '',COMMENT
LOWapp/Http/Requests/Project/InvoiceProjectRequest.php41COMMENT
LOWapp/Http/Controllers/BaseController.php281 // $permissions_array = [COMMENT
LOWapp/Http/Controllers/SelfUpdateController.php141 }COMMENT
LOWapp/Export/CSV/CreditExport.php241 // }COMMENT
LOWapp/Export/CSV/BaseExport.php2081COMMENT
LOWapp/Export/CSV/VendorExport.php181COMMENT
LOWapp/Jobs/PostMark/ProcessPostmarkWebhook.php141 // "FirstOpen": true,COMMENT
LOWapp/Jobs/PostMark/ProcessPostmarkWebhook.php201 // "MessageStream": "outbound",COMMENT
LOWapp/Jobs/PostMark/ProcessPostmarkWebhook.php241 // "example_2": "value"COMMENT
LOWapp/Jobs/PostMark/ProcessPostmarkWebhook.php281 if ($sl) {COMMENT
LOWapp/Jobs/PostMark/ProcessPostmarkWebhook.php301 // "MessageID": "00000000-0000-0000-0000-000000000000",COMMENT
LOWapp/Jobs/Util/Import.php2181 // $client->balance += $credit_balance;COMMENT
LOWapp/Jobs/Ninja/MailWebhookSync.php101COMMENT
LOWapp/Jobs/Ninja/MailWebhookSync.php121COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php141 // "tags": [COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php161 // ],COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php221 // "date": "2023-12-21 18:42:31",COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php261 // {COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php281 // "email": "gloria46@example.com",COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php301 // "date" : "yyyy-mm-dd hh:i:s",COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php361 // "email" : "example@example.com",COMMENT
LOWapp/Events/Invoice/InvoiceWasCreated.php61 {COMMENT
LOWapp/Listeners/LogResponseReceived.php41 // nlog(json_encode($event->request->headers()));COMMENT
LOWapp/Listeners/Activity/PaymentUpdatedActivity.php61COMMENT
LOWapp/Notifications/Admin/EntityViewedNotification.php121 // [COMMENT
LOWapp/Notifications/Admin/EntityViewedNotification.php141 // "texts.notification_{$this->entity_name}_viewed_subject",COMMENT
LOWapp/Services/Quote/UpdateReminder.php81 // $this->settings->schedule_reminder2 == 'after_valid_until_date') {COMMENT
LOWapp/Services/Quote/UpdateReminder.php101COMMENT
LOWapp/Services/Quote/UpdateReminder.php121 // }COMMENT
LOWapp/Services/Quote/UpdateReminder.php141 // $partial_or_due_date = ($this->quote->partial > 0 && isset($this->quote->partial_due_date)) ? $this->quotCOMMENT
LOWapp/Services/Quote/UpdateReminder.php181 // return Carbon::parse($date)->addDay()->startOfDay();COMMENT
152 more matches not shown…
Fake / Example Data119 hits · 132 pts
SeverityFileLineSnippetContext
LOWdatabase/seeders/BanksSeeder.php33 $banks = '[{"id":"421","name":"ING DIRECT (Canada)","fid":"061400152","org":"INGDirectCanada","url":"https://ofxCODE
LOWapp/Utils/Ninja.php23 public const TEST_USERNAME = 'user@example.com';CODE
LOWapp/Utils/Traits/MakesTemplateData.php139 $data['$email'] = ['value' => 'user@example.com', 'label' => ctrans('texts.email')];CODE
LOWapp/Utils/Traits/MakesTemplateData.php176 $data['$company.phone'] = ['value' => '555-3432', 'label' => ctrans('texts.phone')];CODE
LOWapp/Utils/Traits/MakesTemplateData.php177 $data['$company.email'] = ['value' => 'user@example.com', 'label' => ctrans('texts.email')];CODE
LOWapp/PaymentDrivers/Factory/SquareCustomerFactory.php56 "address_line_1": "123 Main St",CODE
LOWapp/Http/ValidationRules/Account/BlackListRule.php1271 "fake-email.pp.ua",CODE
LOWapp/Rules/CommaSeparatedEmails.php28 * - "user@example.com"COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php152 // "sender_email": "user@example.com"COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php170 // "sender_email": "user@example.com"COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php188 // "sender_email": "user@example.com"COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php233 // "sender_email": "user@example.com"COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php277 // "sender_email": "user@example.com"COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php295 // "sender_email": "user@example.com"COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php311 // "sender_email": "user@example.com",COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php328 // "sender_email": "user@example.com"COMMENT
LOWapp/Jobs/Brevo/ProcessBrevoWebhook.php370 // "sender_email": "user@example.com",COMMENT
LOWapp/Services/Template/TemplateMock.php30 public string $purchase_order_data = '[{"vendor":{"name":"Venny the Vendor","vat_number":"VAT:DE3384577","currency":CODE
LOWapp/Console/Commands/CreateSingleAccount.php401 $cc->email = 'user@example.com';CODE
LOWapp/Console/Commands/CreateAccount.php86 $email = $this->option('email') ?? 'admin@example.com';CODE
LOWconfig/former.php61 'placeholder',CODE
LOWconfig/ninja.php86 'username' => 'user@example.com',CODE
LOW…iews/themes/ninja2020/auth/passwords/request.blade.php30 placeholder="user@example.com"CODE
LOWresources/views/email/example.blade.php38 Lorem ipsum dolor sit amet. I love InvoiceNinja.CODE
LOWresources/views/email/example.blade.php38 Lorem ipsum dolor sit amet. I love InvoiceNinja.CODE
LOWtests/MockAccountData.php255 $fake_email = $this->faker->email();CODE
LOWtests/MockAccountData.php285 $settings->email = $fake_email;CODE
LOWtests/MockAccountData.php304 $user = User::whereEmail($fake_email)->first();CODE
LOWtests/MockAccountData.php310 'email' => $fake_email,CODE
LOWtests/Unit/GeneratesConvertedQuoteCounterTest.php69 $fake_email = $this->faker->email();CODE
LOWtests/Unit/GeneratesConvertedQuoteCounterTest.php71 $user = User::whereEmail($fake_email)->first();CODE
LOWtests/Unit/GeneratesConvertedQuoteCounterTest.php77 'email' => $fake_email,CODE
LOWtests/Unit/JsonDesignEmptyFieldVisibilityTest.php38 '$client.name' => 'Acme Corp',CODE
LOWtests/Unit/Providers/RouteRateLimiterTest.php22 'email' => 'user@example.com',CODE
LOWtests/Unit/Providers/RouteRateLimiterTest.php26 $this->assertSame('user@example.com', $this->keyFor($limits[1]));CODE
LOWtests/Unit/Providers/RouteRateLimiterTest.php54 'email' => 'user@example.com',CODE
LOWtests/Unit/Providers/RouteRateLimiterTest.php59 $this->assertSame('user@example.com', $this->keyFor($limits[1]));CODE
LOW…Unit/Services/Quickbooks/QbClientDuplicateNameTest.php149 $clientName = 'Acme Corp';CODE
LOW…Unit/Services/Quickbooks/QbClientDuplicateNameTest.php154 ->with("SELECT Id FROM Customer WHERE DisplayName = 'Acme Corp'", 1, 1)CODE
LOWtests/Unit/Services/Client/RFFServiceTest.php93 $this->assertTrue(Validator::make(['contact_email' => 'user@example.org'], $rules)->passes());CODE
LOWtests/Unit/Services/Client/RFFServiceTest.php101 $contact->email = 'jane.doe@example.org';CODE
LOWtests/Unit/Services/Client/RFFServiceTest.php135 $contact->email = 'user@example.com';CODE
LOWtests/Integration/CompanyLedgerTest.php63 $fake_email = $this->faker->email();CODE
LOWtests/Integration/CompanyLedgerTest.php80 $settings->email = $fake_email;CODE
LOWtests/Integration/CompanyLedgerTest.php94 $user = User::whereEmail($fake_email)->first();CODE
LOWtests/Integration/CompanyLedgerTest.php98 'email' => $fake_email,CODE
LOWtests/Integration/UniqueEmailTest.php73 'email' => 'user@example.com',CODE
LOWtests/Integration/UniqueEmailTest.php80 'email' => 'user@example.com',CODE
LOWtests/Integration/UniqueEmailTest.php85 $user_find = User::on('db-ninja-01')->where('email', 'user@example.com')->first();CODE
LOWtests/Integration/UniqueEmailTest.php91 $user_find = User::on('db-ninja-02')->where('email', 'user@example.com')->first();CODE
LOWtests/Integration/UniqueEmailTest.php100 $this->assertFalse($this->rule->passes('email', 'user@example.com'));CODE
LOW…/Integration/Einvoice/Storecove/StorecoveProxyTest.php486 ->with(290868, '01234567890', 'John Doe', 'john@example.com')CODE
LOW…/Integration/Einvoice/Storecove/StorecoveProxyTest.php490 $result = $this->proxy->c5Activate('John Doe', 'john@example.com');CODE
LOW…/Integration/Einvoice/Storecove/StorecoveProxyTest.php504 $result = $this->proxy->c5Activate('John Doe', 'john@example.com');CODE
LOW…/Integration/Einvoice/Storecove/StorecoveProxyTest.php517 $result = $this->proxy->c5Activate('John Doe', 'john@example.com');CODE
LOW…/Integration/Einvoice/Storecove/StorecoveProxyTest.php528 ->with(290868, '01234567890', 'John Doe', 'john@example.com')CODE
LOW…/Integration/Einvoice/Storecove/StorecoveProxyTest.php532 $result = $this->proxy->c5Deactivate('John Doe', 'john@example.com');CODE
LOW…/Integration/Einvoice/Storecove/StorecoveProxyTest.php573 $result = $this->proxy->c5Activate('John Doe', 'john@example.com');CODE
LOW…/Integration/Einvoice/Storecove/StorecoveProxyTest.php588 $result = $this->proxy->c5Deactivate('John Doe', 'john@example.com');CODE
LOW…Mock/Quickbooks/Http/Response/200-cutomer-response.txt757 "Line1": "123 Main Street",CODE
59 more matches not shown…
Verbosity Indicators8 hits · 12 pts
SeverityFileLineSnippetContext
LOWapp/Jobs/Company/CompanyImport.php2279 * In the case of users - we need to check if the systemCOMMENT
LOWresources/js/clients/payments/stripe-ach.js108 // Step 1: Collect bank account using Financial ConnectionsCOMMENT
LOWtests/Feature/Payments/DeletePaymentTest.php189 // Step 1: Delete the CREDIT firstCOMMENT
LOWtests/Feature/Payments/DeletePaymentTest.php201 // Step 2: Delete the PAYMENT secondCOMMENT
LOWtests/Feature/Payments/DeletePaymentTest.php289 // Step 1: Delete the PAYMENT firstCOMMENT
LOWtests/Feature/Payments/CreditRefundDoubleSpendTest.php264 // Step 1: Create payment with creditCOMMENT
LOWtests/Feature/Payments/CreditRefundDoubleSpendTest.php297 // Step 2: Refund the full amountCOMMENT
LOWtests/Feature/Payments/CreditRefundDoubleSpendTest.php331 // Step 3: Re-apply the credit to the same invoiceCOMMENT
Structural Annotation Overuse7 hits · 10 pts
SeverityFileLineSnippetContext
LOWresources/js/clients/payments/stripe-ach.js108 // Step 1: Collect bank account using Financial ConnectionsCOMMENT
LOWtests/Feature/Payments/DeletePaymentTest.php189 // Step 1: Delete the CREDIT firstCOMMENT
LOWtests/Feature/Payments/DeletePaymentTest.php201 // Step 2: Delete the PAYMENT secondCOMMENT
LOWtests/Feature/Payments/DeletePaymentTest.php289 // Step 1: Delete the PAYMENT firstCOMMENT
LOWtests/Feature/Payments/CreditRefundDoubleSpendTest.php264 // Step 1: Create payment with creditCOMMENT
LOWtests/Feature/Payments/CreditRefundDoubleSpendTest.php297 // Step 2: Refund the full amountCOMMENT
LOWtests/Feature/Payments/CreditRefundDoubleSpendTest.php331 // Step 3: Re-apply the credit to the same invoiceCOMMENT
Example Usage Blocks3 hits · 4 pts
SeverityFileLineSnippetContext
LOW…ocument/Standards/Validation/Verifactu/EntityLevel.php349 // // Example usage:COMMENT
LOWtests/Unit/Tax/VatNumberTest.php30 // Usage exampleCOMMENT
LOWtests/Unit/Tax/VatNumberTest.php43 // Usage exampleCOMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMapp/Services/Quickbooks/Models/QbQuote.php193 //new quote scaffoldCOMMENT
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWconfig/cors.php36// don't forget to check app/Http/Middleware/Cors.phpCOMMENT