Download the PHP package numerar/contable without Composer

On this page you can find all versions of the php package numerar/contable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package contable

Numerar Contable

Motor contable de partida doble para Laravel, diseñado sobre el Plan Único de Cuentas (PUC) colombiano. Se instala como paquete Composer en cualquier proyecto Laravel 11 o 12 y expone tanto una interfaz web Blade lista para usar como una API REST JSON completa.

Características principales

Requisitos

Dependencia Versión
PHP ^8.2
Laravel ^11.0 | ^12.0
Alpine.js ^3.x (CDN, incluido en la UI)

Instalación

Ejecuta el comando de instalación:

Esto publica config/contable.php, corre las migraciones y siembra las 9 clases PUC y los tipos de comprobante por defecto.

Opciones del instalador

Publicar recursos individualmente

Configuración rápida

El archivo config/contable.php cubre todas las opciones. Los ajustes más comunes:

Middleware y prefijos de ruta

Activar/desactivar capas

Autorización

El paquete define cuatro gates. Si no los defines tú, todos pasan (modo desarrollo). En producción, decláralos en tu AppServiceProvider:

Gate Protege
contable.access Acceso general al módulo
contable.entries Crear, editar y anular comprobantes
contable.reports Ver reportes contables
contable.admin Cerrar periodos, configurar ejercicios

Multi-tenancy

Desactivado por defecto. Para activarlo:

Registra el resolver en tu AppServiceProvider::boot():

Todas las tablas tienen tenant_id BIGINT DEFAULT 0. El valor 0 actúa como centinela para modo single-tenant, evitando problemas con índices únicos en MySQL.

Terceros polimórficos

Las líneas de comprobante aceptan cualquier modelo como tercero. Por defecto apunta al modelo Tercero del paquete; puedes agregar los tuyos:

El selector en la UI agrupa las opciones por tipo de modelo automáticamente.

Modelos intercambiables

Extiende cualquier modelo del paquete y regístralo en la config:

Crear comprobantes por código

Usa la fachada Contable o inyecta EntryService directamente. Todas las operaciones corren dentro de una transacción y lanzan excepciones tipadas ante cualquier violación de reglas contables.

Requisito previo: periodo abierto

El comprobante se asocia automáticamente al periodo contable cuya fecha de inicio/fin contenga date. Si el periodo no existe o está cerrado, se lanza PeriodClosedException.

Registrar un comprobante

El servicio valida que sum(debit) === sum(credit) antes de confirmar la transacción. Si no cuadra, lanza UnbalancedEntryException.

Editar un comprobante

Anular un comprobante

Los comprobantes anulados quedan con status = VOIDED y no pueden editarse. Sus movimientos dejan de aparecer en reportes.

Excepciones tipadas

Excepción Cuándo se lanza
AccountingException Regla de negocio general (cuenta inactiva, tipo de comprobante inexistente, etc.)
UnbalancedEntryException sum(débitos) ≠ sum(créditos)
PeriodClosedException El periodo contable está cerrado

Reportes disponibles

Reporte Ruta web Endpoint API
Libro Diario /accounting/reports/journal GET /api/accounting/reports/journal
Mayor General /accounting/reports/general-ledger GET /api/accounting/reports/general-ledger
Mayor por Tercero /accounting/reports/third-party-ledger GET /api/accounting/reports/third-party-ledger
Balance de Comprobación /accounting/reports/trial-balance GET /api/accounting/reports/trial-balance
Estado de Situación Financiera /accounting/reports/balance-sheet GET /api/accounting/reports/balance-sheet
Estado de Resultados /accounting/reports/income-statement GET /api/accounting/reports/income-statement
Centro de Costo /accounting/reports/cost-center GET /api/accounting/reports/cost-center

Las rutas usan el prefijo por defecto accounting. Cámbialo en config/contable.phpweb_prefix.

API REST

Todos los recursos cuentan con endpoints JSON bajo el prefijo api/accounting (configurable). Ejemplo de rutas:

Las respuestas siguen el formato de Laravel API Resources. Autenticación vía Sanctum por defecto (configurable).

Estructura del paquete

Licencia

MIT — © Alernal · juan-rios-dev


All versions of contable with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
laravel/framework Version ^11.0|^12.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package numerar/contable contains the following files

Loading the files please wait ...