La respuesta corta
Use un campo Auto number. Su patrón es un constructor de segmentos (texto literal, un token Year (YYYY), un Autocount), y el segmento Autocount incluye un botón de opción para "Reset count every year" frente a "Don't reset count". El reinicio anual es una opción nativa y no hace falta automatización. No se ha observado que el recuento vuelva a 1 en un cambio de año real (véase §7).
Si más adelante cambia el patrón a través de la API, omita el número final.
El centro de ayuda no describe esa vía; según este, las opciones no pueden cambiarse
después de Save. El
,1 de {#Number4,1} es un índice inicial, no un
adorno: dice comenzar esta serie en 1, y hace exactamente eso cada vez que se
envía, también en un campo que lleva dos años emitiendo números. Escriba
{#Number4} y el recuento continúa donde estaba.
El problema de negocio
Un documento de negocio necesita una referencia de cara a las personas: un número de factura, un número de caso, un número de documento que aparece en los papeles y se cita en correos electrónicos y llamadas telefónicas. Los requisitos son poco vistosos y estrictos:
- Único, de forma permanente. Que dos documentos compartan número no es un problema estético.
- Legible y pronunciable: una persona lo lee en voz alta por teléfono.
- Acotado por año, en la mayoría de las jurisdicciones y de las prácticas contables: la secuencia se reinicia cada enero para que el número lleve su propio periodo.
- Estable: una vez emitido, no cambia nunca, porque está impreso en documentos que ya han salido de la empresa.
En contextos contables esto no es una mera convención. Una serie de números de documento que repite un valor es una observación de auditoría y, en varias jurisdicciones, un problema de cumplimiento normativo y no una simple molestia.
Por qué falla el enfoque obvio
Construir el número usted mismo, porque le dijeron que tenía que hacerlo
Encontrará consejos que le dicen que construya el número usted mismo. Afirman que los campos de secuencia no se pueden reiniciar por año y que, por tanto, un número de documento con prefijo de año tiene que componerse en un proceso de automatización: un contador simple para el número correlativo y un proceso que le concatena el año.
Ese consejo es erróneo, y se repite lo bastante como para merecer que se señale. La plataforma tiene una opción explícita "Reset count every year" integrada en el editor de patrones. Antes de construir un proceso de composición, abra el editor del campo y compruébelo.
Conviene concretar lo que cuesta ese rodeo innecesario, porque el mismo razonamiento se aplica siempre que se sustituye un mecanismo nativo por automatización:
- Una segunda fuente de verdad. El contador real y el campo de texto compuesto pueden no coincidir, y nada los concilia.
- Una condición de carrera. Dos registros creados en el mismo instante pueden componerse con el mismo número, porque la composición no es lo que garantiza la unicidad.
- Un modo de fallo sin señal. Si el proceso está desactivado, falla o queda excluido por un filtro, los registros se crean con un número de documento vacío y nadie se da cuenta hasta que alguien mira.
- Mantenimiento continuo de una lógica que la plataforma habría mantenido por usted.
Usar el identificador del registro
Técnicamente único, e inútil. Es un UUID: no es legible, no es pronunciable, no está acotado por año y no le dice nada a un cliente.
El constructor de patrones
En la interfaz, el tipo de campo se llama Auto number. Su patrón se ensambla a partir de segmentos ordenados en lugar de escribirse como una cadena:
| Segmento | Finalidad |
|---|---|
| Text | Un prefijo o separador literal: un código de tipo de documento, la inicial de una empresa. |
| Year (YYYY) | El año de cuatro dígitos, resuelto cuando se crea el registro. |
| Autocount | El número correlativo, con su número de dígitos. Este segmento incluye la elección del reinicio. |
| Text | Más segmentos literales, antes o después de cualquiera de los anteriores. |
En el segmento Autocount hay dos opciones mutuamente excluyentes: Reset count every year y Don't reset count. Ese único botón de opción es la respuesta a la pregunta que da nombre a este blueprint.
El editor muestra un ejemplo en vivo del siguiente valor mientras lo construye
(Example:
TST20260004), lo cual es útil durante la configuración. Trátelo como una
comprobación del formato, no como una prueba sobre el contador; eso solo se lo dice un
registro creado.
Configuración y forma en la API
Crear uno mediante programación
El patrón se expresa como una cadena de tokens, y el campo lleva un objeto
sequence:
sequence: {
defaultItem: { pattern: "TST{#Year}{#Number4,1}" },
items: []
}
Primer registro con ese patrón: TST20260001. El recuento de cuatro
dígitos se aceptó a través de la API; para un patrón configurado en la interfaz, el
centro de ayuda fija para el número un mínimo de cinco dígitos.
La forma de creación y la forma de lectura difieren. El ,1 es el
índice inicial («comenzar esta serie en 1»), y se elimina al normalizarse el
campo una vez publicado, de modo que al volver a leer el campo se obtiene el
{#Number4} depurado.
Esta es la regla para cambiar un patrón más adelante a través de la API: envíelo
sin el número final. El centro de ayuda no describe esa vía; según este, las
opciones no pueden cambiarse después de Save. El índice inicial es una instrucción, y se obedece cada vez que llega. Cambie
TST{#Year}{#Number4,1} por
INV{#Year}{#Number4,1} (una edición del prefijo, en apariencia inofensiva) y
la serie se reinicia en 1 y vuelve a emitir números que ya había asignado. Cámbielo por
INV{#Year}{#Number4} y el contador continúa intacto.
El procedimiento seguro, y el motivo por el que las dos formas difieren: lea el campo,
tome su pattern literalmente, cambie solo lo que pretendía cambiar y envíelo
de vuelta. Lo que devuelve el campo ya está normalizado, así que nunca lleva un índice
inicial. Si genera los payloads a partir de una plantilla guardada y no de una lectura,
elimine ,<n> del token del recuento en todo lo que no sea un campo
completamente nuevo.
Dos trampas de la API al crear. Una propiedad sequence_pattern en el
endpoint REST de campos está obsoleta: la API la rechaza con un mensaje que le
indica que use la propiedad sequence en su lugar. Pero enviar el nuevo objeto
sequence por ese mismo endpoint REST devuelve un
500. Crear el campo a través de la API de administración funcionó; la vía REST no.
El contador es un estado de tres partes
El campo expone su contador como last_particle, que no es un único
entero:
last_particle: { year: 2026, month: 0, sequence_number: 2 }
De ello se derivan dos cosas. El componente del mes se queda en cero cuando el patrón no contiene token de mes, así que su presencia no implica un comportamiento mensual. Y el componente del año es el mecanismo del reinicio anual: el motor guarda el año al que pertenece el recuento, y eso es lo que le permite reconocer un año nuevo y volver a empezar.
Contadores segmentados
El array items, junto a defaultItem, admite entradas que llevan
cada una su propio pattern y su propio filtro. Esa es la forma de un
mecanismo para varios contadores independientes en un mismo campo, seleccionados por una
condición sobre el registro: una serie distinta por tipo de documento o por unidad
organizativa.
Su semántica no está verificada; consulte el §6.
Cuándo sigue necesitando automatización
La mayoría de las veces no la necesita, que es precisamente lo que plantea el §2. Hay un caso real en que el campo nativo no puede hacer el trabajo.
El token Year se resuelve a partir de la creación del registro. Si el año de su número de documento debe proceder de una fecha distinta (una fecha de factura, una fecha de documento, un periodo de servicio que puede caer en un año distinto de aquel en que se introdujo el registro), el campo Auto number no puede expresarlo. Además, el contador avanza según el orden de creación, no según el orden de esa fecha.
Ahí, y solo ahí, el enfoque de composición es el correcto: un Auto number nativo que aporta la parte correlativa con unicidad garantizada, y un proceso que ensambla el número de documento visible a partir del año de la fecha elegida más ese número. Acepte de forma explícita que el orden de creación y el orden por fecha de documento pueden entonces divergir, y decida de antemano cuál considera el negocio que prevalece; es mucho más fácil responder a esa pregunta antes de la puesta en marcha que después. Es además un proceso más del que hacerse cargo, así que constrúyalo según las convenciones del Blueprint 011, sobre cómo mantener las automatizaciones de forma sostenible.
Límites y compromisos
La numeración sin huecos no es alcanzable
Un número se emite cuando se crea el registro. Cree un registro y elimínelo, y el número queda gastado: la serie tiene un hueco, y ninguna configuración lo impide. Si su jurisdicción o su auditor exigen una serie ininterrumpida, plantéelo antes de la puesta en marcha, porque la respuesta será un procedimiento de conciliación y no un ajuste.
Fuente. Centro de ayuda de Coevera, Advanced fields & forms — Autonumber fields: «se genera un número nuevo cada vez que se guarda un registro nuevo. No se puede hacer que un número automático se rellene cuando se mueve una Opportunity, por ejemplo; solo al crear el registro».
El año procede de la fecha de creación, y solo de ahí
El token Year se resuelve cuando se crea el registro, y el recuento avanza en orden de creación. Un número cuyo año deba proceder de una fecha distinta (una fecha de factura, una fecha de documento, un periodo de servicio) no se puede expresar con el campo, y el §5 explica la composición que necesita en su lugar. La consecuencia que hay que decidir de antemano es que el orden de creación y el orden por fecha de documento pueden entonces no coincidir.
Una única serie compartida entre varios tipos de registro es el motivo habitual por el que un solo campo tiene que soportar todo el negocio; consulte el Blueprint 001, donde cinco tipos de solicitud comparten una única serie de números de referencia.
Varios contadores en un campo: sin verificar
El array items descrito en el §4 tiene la forma de un mecanismo para series
independientes en un mismo campo. No lo hemos probado, y lo decimos en lugar de
describir un comportamiento que no hemos observado. Trate una serie por tipo o por unidad
como un riesgo de diseño hasta que la haya visto funcionar.
Otras cosas que conviene saber
- El recuento que informa la operación de publicación no es una señal de éxito. Devolvió cero en todas las llamadas de nuestras pruebas mientras publicaba de forma demostrable.
- La creación de campos se publica de forma incoherente. La misma llamada de creación devolvió una vez un campo ya publicado y otra vez un borrador sin publicar. Compruebe el estado de publicación; no lo suponga.
Verificación
La numeración es una de esas funciones que parecen correctas hasta que se auditan, así que las comprobaciones se centran en los valores emitidos y no en la configuración.
- Lea los números de registros creados, no de la configuración del campo. La configuración le dice lo que el motor pretende; solo un número emitido le dice lo que hizo.
- Cree al menos tres registros y confirme el incremento, en lugar de crear uno y suponer.
- Vuelva a leer el contador después de cualquier cambio de configuración: los componentes del año y del recuento deben coincidir con el último número emitido. Vuelva a leer también el patrón al mismo tiempo: es la cadena que debe reutilizar en la siguiente edición.
- Tras cualquier edición del patrón, publique y luego cree un registro y compare su número con el más alto ya emitido. Lleva unos segundos y es la comprobación que detecta un contador que no se ha mantenido.
- Pruebe la unicidad con una consulta, no como una suposición: agrupe por el campo del número y confirme que ningún valor aparece dos veces. Hágalo tras cada cambio de configuración, y una vez como comprobación programada si los números son relevantes para la auditoría.
- Si el reinicio anual está activado, verifíquelo frente a un cambio de año real antes de confiar en él. Nosotros no pudimos, y lo decimos en lugar de afirmar un comportamiento que no hemos visto producirse.
Qué indicaría una regresión: cualquier valor duplicado en el campo del número; un contador cuyo componente del año no coincide con los números que se emiten; un registro creado con un número vacío, lo que significa que ha fallado un proceso de composición y no el campo nativo.
Preguntas frecuentes
¿Puede un CRM generar un número de referencia que vuelva a empezar en 1 cada año?
Sí. En Coevera CRM, un campo Auto number se construye a partir de un patrón de segmentos (texto literal, un token Year y un segmento Autocount), y el segmento Autocount incluye una elección explícita entre reiniciar el recuento cada año y no reiniciarlo nunca. No hace falta ninguna automatización. Un patrón de texto más Year más un recuento de cuatro dígitos produce valores como TST20260001; el recuento de cuatro dígitos se aceptó a través de la API, mientras que el centro de ayuda fija para el número un mínimo de cinco dígitos en un patrón configurado en la interfaz. La opción de reinicio anual existe; no se ha observado que el recuento vuelva a 1 en un cambio de año real.
¿Cómo se almacena el contador de un número generado automáticamente?
Como un estado de tres partes: año, mes y número de secuencia. En Coevera se expone en el campo como last_particle. Tras dos registros con un patrón que contiene un token Year pero ningún token de mes, indica año 2026, mes 0, número de secuencia 2: el componente del mes se queda en cero cuando el patrón no lo usa. El componente del año es lo que hace posible el reinicio anual: el motor compara el año almacenado con el actual.
¿Cómo se cambia el patrón de un campo de numeración automática existente?
A través de la API, que el centro de ayuda no describe: según este, las opciones no pueden cambiarse después de Save. Envíe el nuevo patrón sin el índice inicial. El token del recuento puede llevar uno, escrito como una coma y un número dentro del token, por ejemplo Number4 seguido de una coma y 1, y ordena al motor que empiece la serie en ese valor. Se obedece cada vez que se envía, también en un campo que ya ha emitido miles de números, de modo que una edición del patrón que conserva el índice inicial reinicia la serie en ese número y vuelve a emitir valores ya en uso. Escribir el token del recuento sin la coma y el número deja el contador intacto y solo cambia lo que usted pretendía cambiar. Además, el índice inicial se elimina al normalizarse el campo una vez publicado, así que el patrón que un campo devuelve no es el patrón con el que se creó: el procedimiento seguro es leer el campo, tomar su patrón literalmente, editar solo la parte que quiere cambiar y enviar eso. Verifique el resultado a partir de un número emitido en un registro recién creado y no a partir de la configuración del campo.
¿Puede el año de un número de documento proceder de la fecha de factura en lugar de la fecha de creación?
No desde el propio campo Auto number. Su token Year se resuelve a partir del momento en que se crea el registro, y el contador avanza según el orden de creación, así que un número cuyo año deba derivarse de un campo de fecha distinto (una fecha de factura o de documento que puede diferir de la fecha de creación) no se puede producir de forma nativa. Ese caso requiere componer el número visible en un proceso de automatización a partir de un contador simple más el año del campo de fecha elegido, y aceptar que ambos pueden divergir.