Home

Recent sample

Work on Sankhya ERP

I have worked with Sankhya since 2016 and, for more than fifteen years, have implemented, customized and integrated business systems for manufacturing, retail, distribution, services and outsourcing. This page shows only a small part of that work: some projects delivered in 2026, all built as extensions of the ERP without changing the standard system. Client names, people and amounts have been omitted.

15+ yearswith business systems
Since 2016with Sankhya ERP
Oracle and SQL ServerPL/SQL, T-SQL, JavaScript, JasperReports
TaxFinanceControllingBillingCostingSalesProcurementInventoryHR and payrollIntegrations and APIsReports and dashboards

Highlights

Three recent projects with the widest reach.

Workforce outsourcing

Contract billing, from proposal to invoice

The price of each role is calculated in the proposal, inherited by the contract, computed monthly from payroll and timesheets, and turned into orders and invoices.

ResultMonthly billing with no spreadsheets, safe to rerun without duplicates and audited in a dashboard that shows where every amount comes from.

View project
Professional services and retail

Management P&L inside the ERP

Income statement with year-over-year comparison, forecasting, cash or accrual basis, and drill-down from any line to the source document.

ResultControlling stopped building results outside the ERP, with figures reconciled with tax records and accounting.

View project
Import and distribution

Costing of supplementary import invoices

The supplementary import tax invoice is issued with zero quantity, as accounting requires, and a management mirror invoice carries the tax amount into the average cost.

ResultCorrect product cost without touching the tax rule, validated end to end and live in production, with a user manual.

More recent work

A 2026 sample by area, with the goal and result of each delivery.

Tax

Single payment slip for withheld taxes

GoalReplace the per-invoice payables for withheld PIS, COFINS and CSLL with a single payable per period, mirroring the federal tax slip (DARF).

ResultMonthly reconciliation goes from dozens of items to one, with due date and carry-over of small amounts calculated automatically.

ProcedureAction buttonDashboard
Tax

Reconciling service invoices issued outside the ERP

GoalWrite the number, access key, status and municipal service tax (ISS) of about 300 service invoices issued in an external system into the invoices created by contract billing.

ResultThe ERP matches what was issued, with no retyping, through a rerunnable script with pre-checks, backup and manual commit.

PL/SQLXML NFS-e
Taxin progress

Service invoice printout in the national standard

GoalPrinted service invoice in the new national layout, read straight from the authorized XML, with the new IBS and CBS taxes and the customer's full address.

ResultA printout faithful to the authorized invoice, with no data rebuilt from queries.

JasperReportsXPathPL/SQL
Finance

Financial position and aging on a reference date

GoalShow open receivables and payables on any chosen date, spread across twelve aging buckets.

ResultFinance knows what was open on a past date without juggling filters in the standard screens.

DashboardPL/SQL
Finance

Employee advances and reimbursements

GoalBalance and statement for each employee on a reference date, plus indicators of approved reimbursements not yet paid.

ResultBalances that match the ERP screen, and no more false debtors when filtering by cost center.

DashboardCardsPL/SQL
Finance

Contract portfolio and overdue accounts

GoalDashboard of recurring revenue, overdue amounts and upcoming expirations, plus per-contract overdue alerts during billing approval.

ResultOne late contract no longer blocks the customer's other contracts, and management sees the whole portfolio on one screen.

TriggerProcedureDashboard
Finance

Customer advance linked to the sales order

GoalA button that creates the advance and the receivable from the sales order.

ResultNo more hand-built advance payment slips, with the accounting entry created automatically.

JS action buttonBusiness rule
Finance and accounting

Audit of the bad-debt provision routine

GoalExplain the differences between the finance and accounting dashboards for the doubtful-accounts provision, by reverse-engineering the routine.

ResultEvery discrepancy traced to its cause, a fix proposed and the process documented for accounting.

DiagnosticsPL/SQL
Sales, controlling and HRpartly in development

Two-step commission approval

GoalCommission payments approved by Controlling and then HR, with notifications and calculation attachments, plus a screen linking each payment to the sales behind it.

ResultCommissions traceable to the invoice, with a lock against paying commission twice on the same item.

Business rulesTriggerHTML5
Procurement

Approval for inventory adjustments

GoalRequire Controlling approval for every inventory adjustment, with an email notification.

ResultNo adjustment confirmed without review, and coverage changes through configuration, not code.

Business ruleEmail queue
Controlling

Automatic notifications in the ERP

GoalNotify by email or in the ERP notification center about confirmed transactions and master-data changes that need review, such as a change of corporate group.

ResultA new notification is just configuration, with no duplicate sends, and it opens the record directly in the ERP.

TriggerPackageDeep link
Profitability

Freight fix in profitability analysis

GoalEliminate negative freight values in the variable-cost calculation, caused by the state VAT (ICMS) credit deduction.

ResultCorrect margins for the period, with history recalculated by a scheduled job.

FunctionViewDBMS_SCHEDULER
Inventory

Inventory position by product line

GoalFormatted reports by product line, emailed every week.

ResultProduct teams no longer receive spreadsheets exported from a dashboard.

JasperReportsScheduled delivery

How I work

Practices that repeat across every delivery.

  • The standard system stays untouched

    Every new object carries the AD_ prefix and fields are created through the data dictionary. ERP updates break nothing.

  • Reruns are safe

    Tracking keys, pre-checks, backups and rollback scripts: running again never produces a duplicate slip, invoice or commission.

  • Checked against what users already trust

    Every new figure is compared with a report or standard field the team already uses before it goes to validation.

  • Process first, then code

    Before customizing, I check whether the ERP process already handles it. Sometimes the problem is in the entry, not the query.

  • Errors that explain themselves

    When setup is missing or there is nothing to process, the message says why and where to fix it.

  • Business decisions belong to the client

    Open questions become a decision list with a technical proposal, and every delivery ships with documentation for the people who run it.