Philippine Standard Industrial Classification (PSIC 2009) — 21 sections (A–U) and 88 divisions with lookup, validation, and search helpers. Data from the PSA/NSCB. Zero-dependency.

Maintainers

Package info

github.com/kon2raya24/ph-psic-php

pkg:composer/phdevutils/psic

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.0 2026-06-03 07:07 UTC

This package is auto-updated.

Last update: 2026-06-03 07:45:26 UTC


README

Packagist Version License: MIT

The Philippine Standard Industrial Classification (PSIC 2009) for PHP — the 21 sections (1-letter codes A–U) and 88 divisions (2-digit codes) with lookup, validation, and keyword-search helpers. PHP companion to the npm package @ph-dev-utils/psic.

Pairs naturally with phdevutils/business for tagging a registered company's industry.

composer require phdevutils/psic

Quick start

use PhDevUtils\Psic\Psic;

Psic::findSection('C');           // ['code' => 'C', 'title' => 'Manufacturing', 'divisions' => ['10', …, '33']]
Psic::findDivision('62');         // ['code' => '62', 'title' => 'Computer programming, …', 'section' => 'J']
Psic::sectionOf('62');            // ['code' => 'J', 'title' => 'Information and communication', …]

Psic::listDivisions(['section' => 'C']); // the 24 manufacturing divisions (10–33)
Psic::search('insurance');               // ['sections' => [K], 'divisions' => [65, 66, …]]

API

Method Returns
Psic::listSections() array — all 21 sections (A–U)
Psic::listDivisions($filter = []) array — all 88; filter by section (case-insensitive)
Psic::findSection($code) section array or null — by 1-letter code (case-insensitive)
Psic::findDivision($code) division array or null — by 2-digit code
Psic::sectionOf($divisionCode) section array or null — the parent section of a division
Psic::isSectionCode($code) bool — is it one of the 21 section letters
Psic::isDivisionCode($code) bool — is it one of the 88 division codes
Psic::search($query) ['sections' => [...], 'divisions' => [...]] — title keyword or exact code
Psic::meta() array — provenance + version note

A section array: code (AU), title, divisions (list of 2-digit codes). A division array: code (2-digit), title, section (parent letter). search() division results add a sectionTitle key.

Scope & data

This release covers the two stable top levels of PSIC 2009 — sections and divisions — which is what most industry-categorisation use cases need. The finer group / class / sub-class levels (3–5 digit codes) are out of scope for now.

Data is transcribed from the PSA/NSCB 2009 PSIC codes document (patterned after the UN ISIC Rev.4 at the division level). PSIC 2019 is a newer revision — confirm against the PSA when the latest codes matter. Not affiliated with the PSA/NSCB.

License

MIT. Classification data is factual public information from the PSA/NSCB.