Skip to content

Commit 67aeddb

Browse files
chore(nominaCatalogs): add new methods for nomina catalogs
1 parent f9740b5 commit 67aeddb

5 files changed

Lines changed: 52 additions & 0 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [2.3.0] - 2026-10-07
9+
10+
### Added
11+
12+
- Add `nominaCatalogs().searchDeductions` and `nominaCatalogs().searchPerceptions` to search the SAT payroll deduction and perception catalogs.
13+
814
## [2.2.0] - 2026-09-09
915

1016
### Added

‎README.es.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,13 @@ var invoice = facturapi.invoices().create(Map.of(
6262
System.out.println(invoice.getId());
6363
```
6464

65+
## Catálogos de nómina
66+
67+
```java
68+
var deductions = facturapi.nominaCatalogs().searchDeductions(Map.of("q", "001"));
69+
var perceptions = facturapi.nominaCatalogs().searchPerceptions(Map.of("q", "001"));
70+
```
71+
6572
## Subidas
6673

6774
```java

‎README.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,13 @@ var invoice = facturapi.invoices().create(Map.of(
6262
System.out.println(invoice.getId());
6363
```
6464

65+
## Payroll catalogs
66+
67+
```java
68+
var deductions = facturapi.nominaCatalogs().searchDeductions(Map.of("q", "001"));
69+
var perceptions = facturapi.nominaCatalogs().searchPerceptions(Map.of("q", "001"));
70+
```
71+
6572
## Uploads
6673

6774
```java

‎src/main/java/io/facturapi/Facturapi.java‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import io.facturapi.tools.CartaPorteCatalogsTool;
1818
import io.facturapi.tools.CatalogsTool;
1919
import io.facturapi.tools.ComercioExteriorCatalogsTool;
20+
import io.facturapi.tools.NominaCatalogsTool;
2021
import io.facturapi.tools.ToolsResource;
2122
import java.time.Duration;
2223

@@ -34,6 +35,7 @@ public class Facturapi {
3435
private final CatalogsTool catalogs;
3536
private final CartaPorteCatalogsTool cartaPorteCatalogs;
3637
private final ComercioExteriorCatalogsTool comercioExteriorCatalogs;
38+
private final NominaCatalogsTool nominaCatalogs;
3739
private final ToolsResource tools;
3840

3941
/**
@@ -73,6 +75,7 @@ public Facturapi(FacturapiConfig config) {
7375
this.catalogs = new CatalogsTool(httpClient);
7476
this.cartaPorteCatalogs = new CartaPorteCatalogsTool(httpClient);
7577
this.comercioExteriorCatalogs = new ComercioExteriorCatalogsTool(httpClient);
78+
this.nominaCatalogs = new NominaCatalogsTool(httpClient);
7679
this.tools = new ToolsResource(httpClient);
7780
}
7881

@@ -126,6 +129,10 @@ public ComercioExteriorCatalogsTool comercioExteriorCatalogs() {
126129
return comercioExteriorCatalogs;
127130
}
128131

132+
public NominaCatalogsTool nominaCatalogs() {
133+
return nominaCatalogs;
134+
}
135+
129136
public ToolsResource tools() {
130137
return tools;
131138
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package io.facturapi.tools;
2+
3+
import com.fasterxml.jackson.core.type.TypeReference;
4+
import io.facturapi.http.FacturapiHttpClient;
5+
import io.facturapi.models.CatalogItem;
6+
import io.facturapi.models.SearchResult;
7+
import java.util.Map;
8+
9+
public class NominaCatalogsTool {
10+
private final FacturapiHttpClient client;
11+
12+
public NominaCatalogsTool(FacturapiHttpClient client) {
13+
this.client = client;
14+
}
15+
16+
/** Searches payroll deduction types. */
17+
public SearchResult<CatalogItem> searchDeductions(Map<String, ?> params) {
18+
return client.get("/catalogs/deductions", params, new TypeReference<SearchResult<CatalogItem>>() {});
19+
}
20+
21+
/** Searches payroll perception types. */
22+
public SearchResult<CatalogItem> searchPerceptions(Map<String, ?> params) {
23+
return client.get("/catalogs/perceptions", params, new TypeReference<SearchResult<CatalogItem>>() {});
24+
}
25+
}

0 commit comments

Comments
 (0)