Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.3.0] - 2026-10-07

### Added

- Add `nominaCatalogs().searchDeductions` and `nominaCatalogs().searchPerceptions` to search the SAT payroll deduction and perception catalogs.

## [2.2.0] - 2026-09-09

### Added
Expand Down
7 changes: 7 additions & 0 deletions README.es.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,13 @@ var invoice = facturapi.invoices().create(Map.of(
System.out.println(invoice.getId());
```

## Catálogos de nómina

```java
var deductions = facturapi.nominaCatalogs().searchDeductions(Map.of("q", "001"));
var perceptions = facturapi.nominaCatalogs().searchPerceptions(Map.of("q", "001"));
```

## Subidas

```java
Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,13 @@ var invoice = facturapi.invoices().create(Map.of(
System.out.println(invoice.getId());
```

## Payroll catalogs

```java
var deductions = facturapi.nominaCatalogs().searchDeductions(Map.of("q", "001"));
var perceptions = facturapi.nominaCatalogs().searchPerceptions(Map.of("q", "001"));
```

## Uploads

```java
Expand Down
5 changes: 2 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>io.facturapi</groupId>
<artifactId>facturapi-java</artifactId>
<version>2.2.0</version>
<version>2.3.0</version>
<name>facturapi-java</name>
<description>Official Java SDK for Facturapi</description>
<url>https://github.com/facturapi/facturapi-java</url>
Expand Down
7 changes: 7 additions & 0 deletions src/main/java/io/facturapi/Facturapi.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import io.facturapi.tools.CartaPorteCatalogsTool;
import io.facturapi.tools.CatalogsTool;
import io.facturapi.tools.ComercioExteriorCatalogsTool;
import io.facturapi.tools.NominaCatalogsTool;
import io.facturapi.tools.ToolsResource;
import java.time.Duration;

Expand All @@ -34,6 +35,7 @@ public class Facturapi {
private final CatalogsTool catalogs;
private final CartaPorteCatalogsTool cartaPorteCatalogs;
private final ComercioExteriorCatalogsTool comercioExteriorCatalogs;
private final NominaCatalogsTool nominaCatalogs;
private final ToolsResource tools;

/**
Expand Down Expand Up @@ -73,6 +75,7 @@ public Facturapi(FacturapiConfig config) {
this.catalogs = new CatalogsTool(httpClient);
this.cartaPorteCatalogs = new CartaPorteCatalogsTool(httpClient);
this.comercioExteriorCatalogs = new ComercioExteriorCatalogsTool(httpClient);
this.nominaCatalogs = new NominaCatalogsTool(httpClient);
this.tools = new ToolsResource(httpClient);
}

Expand Down Expand Up @@ -126,6 +129,10 @@ public ComercioExteriorCatalogsTool comercioExteriorCatalogs() {
return comercioExteriorCatalogs;
}

public NominaCatalogsTool nominaCatalogs() {
return nominaCatalogs;
}

public ToolsResource tools() {
return tools;
}
Expand Down
25 changes: 25 additions & 0 deletions src/main/java/io/facturapi/tools/NominaCatalogsTool.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package io.facturapi.tools;

import com.fasterxml.jackson.core.type.TypeReference;
import io.facturapi.http.FacturapiHttpClient;
import io.facturapi.models.CatalogItem;
import io.facturapi.models.SearchResult;
import java.util.Map;

public class NominaCatalogsTool {
private final FacturapiHttpClient client;

public NominaCatalogsTool(FacturapiHttpClient client) {
this.client = client;
}

/** Searches payroll deduction types. */
public SearchResult<CatalogItem> searchDeductions(Map<String, ?> params) {
return client.get("/catalogs/deductions", params, new TypeReference<SearchResult<CatalogItem>>() {});
}

/** Searches payroll perception types. */
public SearchResult<CatalogItem> searchPerceptions(Map<String, ?> params) {
return client.get("/catalogs/perceptions", params, new TypeReference<SearchResult<CatalogItem>>() {});
}
}
Loading